Ошибка компилятора C3162
Type: ссылочный тип, имеющий деструктор, не может использоваться в качестве типа элемента статических данных "member"
Среда CLR не может знать, когда следует запускать определяемый пользователем деструктор, если класс также содержит статическую функцию-член.
Деструктор никогда не будет выполняться, если объект не удаляется явным образом.
Дополнительные сведения см. в следующих разделах:
Пример
В следующем примере возникает ошибка 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;
}