Kompilatorfel C3162

"type": en referenstyp som har en destructor kan inte användas som typen av statisk datamedlem

Anmärkningar

"Common Language Runtime kan inte veta när en användardefinierad destruktor ska köras när klassen också innehåller en statisk medlemsfunktion."

En destruktor körs aldrig om inte objektet tas bort explicit.

Mer information finns i

Example

I följande exempel genereras 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;
}