编译器错误 C2438

“identifier”:无法通过构造函数初始化静态类数据

构造函数用于初始化类的静态成员。 静态成员必须在类声明之外的定义中初始化。

以下示例生成 C2438:

// C2438.cpp
struct X {
   X(int i) : j(i) {}   // C2438
   static int j;
};

int X::j;

int main() {
   X::j = 1;
}