Erreur du compilateur C3887

'var' : l’initialiseur d’un membre de données littéral doit être une expression constante

Un membre de données littéral ne peut être initialisé qu’avec une expresion constante.

L’exemple suivant génère l’erreur C3887 :

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

Résolution possible :

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