谢谢回复。但是我试过了,以下代码并没有错,
if (i == 1)
{
int a = 1;
}
else
{
int b = 1;
}
我又发现一种情况,当case 语句中的含有变量定义的代码段被包含在一对 大括号 中,或者 case 语句中的变量定义
出现在 switch-case 语句之前时,就没有错。
比如:
int a;
int i=8;
switch(i)
{
case 3:
a=5;
a+=4;
break;
case 8:
;
break;
}
就没有错误。
或者
int i=8;
switch(i)
{
case 3:
{
int a=5; //变量定义包含在大括号中
a+=4;
}
break;
case 8:
;
break;
}
也无错