我知道很多关于这个主题的问题,但我没有找到答案。
struct message
{
int myint;
};
int main(void)
{
switch(1)
{
case 0:
break;
case 1:
int i; // this is fine, but int i = 10; is compile error
break;
default:
break;
}
return 0;
}
从逻辑上讲,为什么定义变量并用一些值初始化它不仅仅是定义变量用于'案例标签'?
答案 0 :(得分:1)
要在C ++中的switch语句中定义变量,您需要使用大括号:
int main(void)
{
switch(1)
{
case 0:
break;
case 1:
{ //added brace
int i=10;
break;
} //added brace
default:
break;
}
return 0;
}