C ++ / CLIでは、マネージクラスを定義するときにアンマネージタイプを使用できないことを知っています。
public struct Unmanaged
{
int x;
int y;
};
public ref class Managed
{
int one;
Unmanaged two; //error C4368
};
でも理由はわかりません。Unmanaged
は単にネイティブタイプのコレクションです-そのサイズはわかっています、確かにそれ(そしてそれを定義するメモリのブロックを意味します)はManaged
「マネージヒープ」内にある「メモリのブロック」と一緒に移動されます、そしてメタデータに保存されているオフセットはすべて有効なままですよね?整数または浮動小数点数が宣言されたかのように?
なぜタイプを混ぜることができないのですか?