c++中使用switch…case遇到的问题
学习完多态写小项目时遇到的问题
int main()
{
int a,b;
cin >> a >> b;
switch(a)
{
case 1:
int c = b;
if(c==1) cout << b;
else cout << "错误";
break;
case 2:
break;
}
}
这段代码在运行时会报错 初始化交叉和跳转到case标签问题
错误提示: Cannot jump from switch statement to this case label jump bypasses variable initialization
是因为在switch…case中不可以定义对象
解决办法如下
1.将case下的部分加上{}限定变量作用域
2.在switch…case外完成变量定义操作