CLIクラスラッパを作成しているのですが、c++の関数の引数が
std::vector<long>& test、
std::vector<unsigned short>& sample、
の場合のマーシャリングの方法が分からなかったためご教示いただきたいです。
また、long *timeのマーシャリングは合っているかも教えていただきたいです。
c#で呼ぶ場合はList<long> listやList<unsigned short> listになりますでしょうか?
c++のヘッダー(*.h)
1bool distance(std::vector<long>& test, 2 std::vector<unsigned short>& sample, 3 long* time = NULL);
WrapperClass.h(ラッパクラスのヘッダー)
1namespace Wrapper 2{ 3 public ref class WrapperClass 4 { 5 6 private: 7 qrk::DLL* _dll; 8 9 public: 10 WrapperClass(); 11 ~WrapperClass(); 12 !WrapperClass(); 13 14bool distance(std::vector<long>& test, 15 std::vector<unsigned short>& sample, 16 long% time); 17 18 }; 19}
WrapperClass.cpp(ラッパクラス)
1bool Wrapper::WrapperClass::distance(std::vector<long>& test, std::vector<unsigned short>& sample, long% time) 2{ 3 pin_ptr<long> p_time = &time; 4 5 return _dll->distance(data, sample, p_time); 6 7 p_time = nullptr; 8}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/03/10 02:32
2022/03/10 03:35
2022/03/10 04:13
2022/03/10 04:21