Aviso do compilador (nível 1) C4461
'type': esta classe tem um finalizador 'finalizer', mas nenhum destruidor 'dtor'
A presença de um finalizador em um tipo implica que serão excluídos recursos. 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 ficar fora do escopo.
Se você definir um destruidor no tipo e chamar explicitamente o finalizador a partir do destruidor, poderá executar deterministicamente seu finalizador.
Para obter mais informações, confira Destruidores e finalizadores.
Exemplo
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() {}
};