Erreur du compilateur C2051
expression case non constante
Les expressions case doivent être des constantes entières.
L’exemple suivant génère l’erreur C2051 :
// C2051.cpp
class X {};
int main() {
static X x;
int i = 0;
switch (i) {
case x: // C2051 use constant expression to resolve error
break;
default:
break;
}
}
Résolution possible :
// C2051b.cpp
class X {};
int main() {
static X x;
int i = 0;
switch (i) {
case 1:
break;
default:
break;
}
}