Dela via


Kompilatorvarning (nivå 1) C4461

"type" : den här klassen har en finalator "finalizer" men ingen destruktor "dtor"

Anmärkningar

Förekomsten av en finalizer i en typ innebär att resurser tas bort. Om inte en finalizer uttryckligen anropas från typens destruktor bestämmer Common Language Runtime när finalizern ska köras efter att ditt objekt har gått ur omfånget.

Om du definierar en destruktor i typen och uttryckligen anropar finaliseraren från destruktoren kan du köra din finaliserare på ett deterministiskt sätt.

För mer information, se Destruktorer och finalisatorer.

Example

I följande exempel genereras C4461.

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

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

   !B() {}
};