编译器错误 C3162
“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;
}
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈