编译器警告(等级 1)C4461

“type”:此类具有终结器“finalizer”,但没有析构函数“dtor”

类型中存在终结器意味着存在要删除的资源。 除非从类型的析构函数显式调用终结器,否则公共语言运行时确定在对象超出范围后何时运行终结器。

如果在类型中定义析构函数并从析构函数显式调用终结器,则可以确定性地运行终结器。

有关详细信息,请参阅析构函数和终结器

示例

下面的示例生成 C4461。

// C4461.cpp
// compile with: /W1 /clr /c
ref class A {
protected:
   !A() {}   // C4461
};

// OK
ref struct B {
   ~B() {
      B::!B();
   }

   !B() {}
};