Поделиться через


Ошибка компилятора C3898

Var: члены данных типа могут быть только членами управляемых типов.

В собственном классе был объявлен элемент данных. Член initonly данных может быть объявлен только в классе CLR.

Следующий пример приводит к возникновению ошибки C3898:

// C3898.cpp
// compile with: /clr
struct Y1 {
   initonly
   static int data_var = 9;   // C3898
};

Возможное решение

// C3898b.cpp
// compile with: /clr /c
ref struct Y1 {
   initonly
   static int data_var = 9;
};