编译器警告(级别 1,错误)C4368

无法将“member”定义为托管“type”的成员:不支持混合类型

不能在托管类型中嵌入本机数据成员。

但是,您可以声明一个指向本机类型的指针,并在托管类的构造函数、析构函数和终结器中控制其生命周期。 有关详细信息,请参阅析构函数和终结器

此警告始终作为错误发出。 请使用 warning pragma 禁用 C4368。

示例

以下示例生成 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
};