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