编译器错误 C3633

无法将“member”定义为托管“type”的成员

CLR 引用类数据成员不能是非 POD C++ 类型。 只能在 CLR 类型中实例化 POD 本机类型。 例如,POD 类型不能包含复制构造函数或赋值运算符。

示例

以下示例生成 C3633。

// C3633.cpp
// compile with: /clr /c
#pragma warning( disable : 4368 )

class A1 {
public:
   A1() { II = 0; }
   int II;
};

ref class B {
public:
   A1 a1;   // C3633
   A1 * a2;   // OK
   B() : a2( new A1 ) {}
    ~B() { delete a2; }
};