下面是声明两个int变量并尝试在switch语句中使用它们的代码。这是C ++中的合法操作吗?如果没有,为什么不呢?
int i = 0;
int x = 3;
switch (i)
{
case x:
// stuff
break;
case 0:
// other stuff
break;
}
答案 0 :(得分:6)
case
标签必须是整数常量表达式,因此您的示例无效。但如果x
更改为:
const int x = 3;
那么它是有效的。
答案 1 :(得分:3)
switch语句可以使用变量吗?
是。这很好,
int i = 0;
switch (i) {
}
但是,case
语句不能使用变量(它们必须是常量)。
case 0:
// first
break;
case 1:
// second
break;
default:
// other