我的代码有 3 个类 n_hexa、n_octa、n_bin。代码在这里
switch(choice)
{
case 1: cin>>n;
n_hexa nx(n);
break;
case 2: cin>>n;
n_octa no(n);
break;
case 3: cin>>n;
n_bin nb(n);
break;
}
在编译时,它会为 n_octa 行给出一条消息“crosses initialisation of n_hexa”
最佳答案
如果您想在 case 中放置临时对象,则需要适本地确定它们的范围。
switch(choice)
{
case 1:
{
cin>>n;
n_hexa nx(n);
break;
}
case 2:
{
cin>>n;
n_octa no(n);
break;
}
case 3:
{
cin>>n;
n_bin nb(n);
break;
}
}
关于c++ - 为什么我不能在 switch-case block 中实例化对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4395289/