switch (i)
{
case 1:
cout << "i is equal to 1" << endl;
break;
case 2:
cout << "i is equal to 2" << endl;
break;
case 3:
cout << "i is equal to 3" << endl;
int j = i + 1;
cout << "j = " << j;
break;
default:
cout << "i is not equal to 1, 2, or 3." << endl;
break;
}变量在最近的一个{}中有效,那么上面这样做没有什么不合适的啊?
我就是想让一个变量在switch中有效,在switch后无效。
为什么非要在case3之间再加个{}警告才会消失?
{
case 1:
cout << "i is equal to 1" << endl;
break;
case 2:
cout << "i is equal to 2" << endl;
break;
case 3:
cout << "i is equal to 3" << endl;
int j = i + 1;
cout << "j = " << j;
break;
default:
cout << "i is not equal to 1, 2, or 3." << endl;
break;
}变量在最近的一个{}中有效,那么上面这样做没有什么不合适的啊?
我就是想让一个变量在switch中有效,在switch后无效。
为什么非要在case3之间再加个{}警告才会消失?
case 3:
{
cout << "i is equal to 3" << endl;
int j = i + 1;
cout << "j = " << j;
}
break;
那么,为什么加了一个{}
case 3:
{
cout << "i is equal to 3" << endl;
int j = i + 1;
cout << "j = " << j;
}
就没有警告了呢?
加了{},case 3的情况还是不一定能运行到。