在C++标准中,不允许跨过初始化定义而跳到下一个case,case必须是整型常量表达式。
#include<iostream>
using namespace std;
int main()
{
char ch;
while(cin >> ch)
{
switch (ch)
{
case 'a':
int i = 0;
break;
case 'b':
cout <<"hello world";
break;
default:
break;
}
}
return 0;
}
在switch语句中如果在case中定义了变量的值,那么该语句则会报错
处理方法
在case ‘a'语句中加花括号或者不给变量i赋值!
case 'a':
{
int i = 0;
break;
}
case 'a':
int i;
break;
可以解决该问题