C++ で次の構造を検討してください。C# で使用できるようにするには、CLI を使用してこれをラップする必要があります。
typedef struct A
{
int b[5];
A* next;
};
どうすればそうできますか?助けてください。
非操作編集:
私が試したことは次のとおりです。
public ref struct ANET
{
array<int>^ b;
ANET^ next;
ANET()
{ b = gcnew array<int>(5) }
};
ここで、A のオブジェクトのポインターが a であり、ANET のオブジェクトのポインターが aNET であるとします。
nSize = sizeof(a->b)/sizeof(a->b[0]);
Marshal::Copy( IntPtr( ( void * ) a->b ), aNET->b, 0, nSize);
これまでのところ、aNET->b で a->b の値を取得できましたが、a->next の aNET->next のポインターをマーシャリングすることに固執しています。
ありがとう