Avviso del compilatore (livello 1) C4461

'type': questa classe ha un finalizzatore 'finalizzatore' ma non un distruttore 'dtor'

La presenza di un finalizzatore in un tipo implica le risorse da eliminare. A meno che un finalizzatore non venga chiamato in modo esplicito dal distruttore del tipo, Common Language Runtime determina quando eseguire il finalizzatore, dopo che l'oggetto esce dall'ambito.

Se si definisce un distruttore nel tipo e si chiama in modo esplicito il finalizzatore dal distruttore, è possibile eseguire in modo deterministico il finalizzatore.

Per altre informazioni, vedere Distruttori e finalizzatori.

Esempio

L'esempio seguente genera l'errore C4461.

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

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

   !B() {}
};