Share via


Upozornění kompilátoru (úroveň 1) C4461

'type' : tato třída má finalizátor 'finalizer', ale žádný destruktor 'dtor'

Přítomnost finalizátoru v typu znamená prostředky, které se mají odstranit. Pokud není finalizátor explicitně volána z destruktoru typu, modul CLR (Common Language Runtime) určuje, kdy se má finalizátor spustit, po ukončení oboru objektu.

Pokud definujete destruktor v typu a explicitně zavoláte finalizátor z destruktoru, můžete deterministicky spustit finalizátor.

Další informace naleznete v tématu Destruktory a finalizátory.

Příklad

Následující ukázka vygeneruje C4461.

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

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

   !B() {}
};