Partilhar via


Aviso do compilador (nível 1) C4461

'tipo' : esta classe tem um finalizador 'finalizador' mas nenhum destrutor 'dtor'

Observações

A presença de um finalizador em um tipo implica recursos a serem excluídos. A menos que um finalizador seja explicitamente chamado a partir do destruidor do tipo, o Common Language Runtime determina quando executar o finalizador, depois que o objeto sair do escopo.

Se definir um destruidor no tipo e chamar explicitamente o finalizador a partir do destruidor, pode executar de forma determinística o finalizador.

Para obter mais informações, consulte Destruidores e finalizadores.

Example

O exemplo a seguir gera C4461.

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

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

   !B() {}
};