編譯器錯誤 C2051
case 運算式不是常數
案例表達式必須是整數常數。
下列範例會產生 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;
}
}
可能的解決方式:
// C2051b.cpp
class X {};
int main() {
static X x;
int i = 0;
switch (i) {
case 1:
break;
default:
break;
}
}