title=变量不能出现在常量表达式中
外观
虽然 switch 语句经常使用变量作为参数,但它们的 case 语句不能使用变量作为参数。
int foo = 7;
int bar = 4;
switch(foo) {
case bar:
cout << "This is case 0" << endl;
}
解决方案: 将 case 语句的参数设为常量
int foo = 7;
const int bar = 4;
switch(foo) {
case bar:
cout << "This is case 0" << endl;
}
- 在 GCC 版本 4.5.1 中发现的错误消息
- 在 GCC 版本 3.2.3 中,报告为:case 标签不能简化为整数常量
- 此错误消息可能与字符串有关——但是,您无法创建字符串常量