大家帮忙看看这程序错哪了。
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 语句后面是不能直接定义变量的,需用括号括起,或者在外面定义;