为什么在case分支中不能定义新变量?
我本来以为在C++中,可以任意位置定义新变量。可是我发现,如果在switch...case分支中定义,会提示错误,比如:
switch(a)
{
case 0:
int a;
case 1:
}
此时会提示错误,这是为什么呢?难道在case分支中不能定义新变量吗?
[解决办法]
{
int a;
}
就可以了
c/c++是如此规定的
发布时间: 2012-05-05 17:21:10 作者: rapoo
为什么在case分支中不能定义新变量?
我本来以为在C++中,可以任意位置定义新变量。可是我发现,如果在switch...case分支中定义,会提示错误,比如:
switch(a)
{
case 0:
int a;
case 1:
}
此时会提示错误,这是为什么呢?难道在case分支中不能定义新变量吗?
[解决办法]
{
int a;
}
就可以了
c/c++是如此规定的