Compartilhar via


Erro do compilador C3421

'type': não é possível chamar o finalizador para esta classe porque ele é inacessível ou não existe

Um finalizador é implicitamente privado, portanto, ele não pode ser chamado de fora do respectivo tipo delimitador.

Para obter mais informações, confira Destruidores e finalizadores em Como definir e consumir classes e structs (C++/CLI).

Exemplo

O exemplo a seguir gera o erro C3421.

// C3421.cpp
// compile with: /clr
ref class A {};

ref class B {
   !B() {}

public:
   ~B() {}
};

int main() {
   A a;
   a.!A();   // C3421

   B b;
   b.!B();   // C3421
}