Delen via


Compilerwaarschuwing (niveau 1) C4461

'type': deze klasse heeft een finalizer 'finalizer', maar geen destructor 'dtor'

Opmerkingen

De aanwezigheid van een finalizer in een type impliceert dat resources moeten worden verwijderd. Tenzij een finalizer expliciet wordt aangeroepen vanuit de destructor van het type, bepaalt de common language runtime wanneer de finalizer moet worden uitgevoerd, nadat uw object buiten scope valt.

Als u een destructor definieert in het type en de finalizer expliciet aanroept vanuit de destructor, kunt u de finalizer deterministisch uitvoeren.

Zie Destructors en finalizers voor meer informatie.

Example

In het volgende voorbeeld wordt C4461 gegenereerd.

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

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

   !B() {}
};