读书人

大家帮忙看看这程序哪里错了

发布时间: 2012-05-28 17:59:33 作者: rapoo

大家帮忙看看这程序错哪了。
void main()
{
int a;
cin>>a;
shape*A;
switch(a)
{
case 1:circle B(1);A=&B;A->area1();break;
case 2:cylinder B(2);A=&B;A->area1();break;
}

}
swith下面总标有红线:error:控制传输跳过的实例化
当只有一个case时,程序无错。
circle和cylinder从shape类继承得到。
大虾提点下。

[解决办法]
switch(a)
{
case 1:
{circle B(1);A=&B;A->area1();break;}
case 2:
{cylinder B(2);A=&B;A->area1();break;}
default:break;
}

case 语句后面是不能直接定义变量的,需用括号括起,或者在外面定义;

读书人网 >C++

热点推荐