switch(i)
{
case 0:
break;
case 1:
int a;
a = 1;
break;
}
以上会编译错误,因为限定这个变量定义和有效区只在该块中有效, 否则你的变量定义理论上说是对整个switch语句而言的, 但是你却定义在某个分支中, 那么其他分支 又看不到, 所以会出错。强制限定变量只在某一个语句块中有效即可解决该问题,即把变量的定义用大括弧括起来。
switch(i)
{
case 0:
break;
case 1:
{
int a;
a = 1;
}
break;
}
这样就可以使用了...