编译器错误 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;
};