switch(searchWay){
case 2:
string bn;
cin >> bn;
break;
}
switch报错,error C2360: “bn”的初始化操作由“case”标签跳过。
解决方式:
如果要在case里面定义变量,需要用括号括起来{}。
花括号的作用是限制作用域,加花括号后把string作用域限制在一个case中,防止在switch外用到此变量时这个case没有执行到。
switch(searchWay){
case 2: {
string bn;
cin >> bn;
break;
}
}
运行成功。