跳转到内容

title=变量不能出现在常量表达式中

来自维基教科书,自由的教科书

在 switch case 语句中使用变量

[编辑 | 编辑源代码]

虽然 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 标签不能简化为整数常量
  • 此错误消息可能与字符串有关——但是,您无法创建字符串常量
华夏公益教科书