Udostępnij za pośrednictwem


Błąd kompilatora C3162

"type" : typ odwołania, który ma destruktora, nie może być używany jako typ statycznego elementu członkowskiego danych "członek"

Środowisko uruchomieniowe języka wspólnego nie może wiedzieć, kiedy uruchomić destruktor zdefiniowany przez użytkownika, gdy klasa zawiera również funkcję statycznej składowej.

Destruktor nigdy nie zostanie uruchomiony, chyba że obiekt zostanie jawnie usunięty.

Aby uzyskać więcej informacji, zobacz,

Przykład

Poniższy przykład generuje 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;
}