Partilhar via


Erro do compilador C3162

«tipo»: um tipo de referência que possui um destrutor não pode ser utilizado como o tipo de membro estático de dados «membro»

Observações

O ambiente de execução de linguagem comum não pode saber quando executar um destruidor definido pelo utilizador quando a classe também contém funções membros estáticas.

Um destrutor nunca será executado, a menos que o objeto seja apagado explicitamente.

Para mais informações, consulte,

Example

O exemplo a seguir gera C3162.

// C3162.cpp
// compile with: /clr /c
ref struct A {
   ~A() { System::Console::WriteLine("in destructor"); }
   static A i;   // C3162
   static A^ a = gcnew A;   // OK
};

int main() {
   A ^ a = gcnew A;
   delete a;
}