编译器错误 C3366
“variable”:托管或 WinRT 类型的静态数据成员必须在类定义中定义
尝试在 WinRT 或 .NET 类/接口定义外部引用该类或接口的静态成员。
编译器需要知道类的完整定义(以在一次传递后发出元数据)并要求在类中初始化静态数据成员。
例如,下面的示例生成 C3366,并演示如何修复此错误:
// C3366.cpp
// compile with: /clr /c
ref class X {
public:
static int i; // initialize i here to avoid C3366
};
int X::i = 5; // C3366