コンパイラの警告 (レベル 1、エラー) C4368

'member' をマネージド 'type' のメンバーとして定義できません。混合型はサポートされていません

マネージド型にネイティブ データ メンバーを埋め込むはできません。

ただし、ネイティブ型へのポインターを宣言し、その有効期間をマネージド クラスのコンストラクター、デストラクター、およびファイナライザーで制御することはできます。 詳細は、デストラクターとファイナライザーに関するページを参照してください。

この警告は、常にエラーとして表示されます。 C4368 を無効にするには、warning pragma を使用します。

次の例では C4368 が生成されます。

// C4368.cpp
// compile with: /clr /c
struct N {};
ref struct O {};
ref struct R {
    R() : m_p( new N ) {}
    ~R() { delete m_p; }

   property N prop;   // C4368
   int i[10];   // C4368

   property O ^ prop2;   // OK
   N * m_p;   // OK
};