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


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

"идентификатор": не удается инициализировать данные статического класса с помощью конструктора

Конструктор используется для инициализации статического элемента класса. Статические члены должны быть инициализированы в определении вне объявления класса.

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

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

int X::j;

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