Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
expression constante attendue
Remarques
Le contexte requiert une expression constante, une expression dont la valeur est connue au moment de la compilation.
Le compilateur doit connaître la taille d'un type au moment de la compilation pour allouer de l'espace pour une instance de ce type.
Exemples
L’exemple suivant génère l’erreur C2057 et montre comment la corriger :
// C2057.cpp
int i;
int b[i]; // C2057 - value of i is unknown at compile time
int main() {
const int i = 8;
int b[i]; // OK - value of i is fixed and known to compiler
}
C possède des règles plus restrictives pour les expressions constantes. L’exemple suivant génère l’erreur C2057 et montre comment la corriger :
// C2057b.c
#define ArraySize1 10
int main() {
const int ArraySize2 = 10;
int h[ArraySize2]; // C2057 - C does not allow variables here
int h[ArraySize1]; // OK - uses preprocessor constant
}