编译错误 jump to case label [-fpermissive]
错误代码如下
switch(ch)
{
case'R':
cin >> w >> h;
Rectangle R(w,h);
m_Shape[i] = &R;
break;
case'E':
cin >> w >> h;
Ellipse E(w,h);
m_Shape[i] = &E;
break;
}
switch case 语句中,在case里定义变量就会出现这种编译错误;
原因是编译器认为这种写法会错过变量的定义,就报错;
解决方法:将变量的定义移出switch case;
总结:不要在if或case下定义变量;