编译器警告(级别 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
};