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


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

Var: инициализатор для элемента литеральных данных должен быть константным выражением.

Член литеральных данных можно инициализировать только с помощью константной экстрезии.

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

// C3887.cpp
// compile with: /clr
ref struct Y1 {
   static int i = 9;
   literal
   int staticConst = i;   // C3887
};

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

// C3887b.cpp
// compile with: /clr /c
ref struct Y1 {
   literal
   int staticConst = 9;
};