私のC#メインでは、私はやった
myStruct ret_vals;
IntPtr ptr = Marshal.AllocHGlobal(Marshal.SizeOf(ret_vals));
Marshal.StructureToPtr(ret_vals, ptr, false);
MyStruct には、別の構造体へのポインターがあります。Intelllisense (コンパイル エラー) によると、私の C++ dll の関数は、IntPtr ではなく、MyStruct へのポインターを期待しています。以下はコンパイルされません
DoAT.atClass1 cl = new DoAT.atClass1();
cl.read_file( ptr);
ちなみに、私のc++関数は次のように宣言されています
public ref class atClass1
{
public:
int read_file(MyStruct & ret_vals) ;
};
アドバイスをいただければ幸いです。