谢谢回复。但是我试过了,以下代码并没有错,
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;
}
也无错