“type”: 具有析构函数的引用类型不能用作静态数据成员“member”的类型
当类还包含静态成员函数时,公共语言运行时无法知道何时运行用户定义的析构函数。
除非显式删除该对象,否则析构函数永远不会运行。
有关详细信息,请参阅
示例
以下示例生成 C3162。
// C3162.cpp
// compile with: /clr /c
ref struct A {
~A() { System::Console::WriteLine("in destructor"); }
static A i; // C3162
static A^ a = gcnew A; // OK
};
int main() {
A ^ a = gcnew A;
delete a;
}