读书人

error:“temp”的初始化操作由“case

发布时间: 2013-04-02 12:35:26 作者: rapoo

error:“temp”的初始化操作由“case”标签跳过
我用VS 2008,编了一个关于class类的程序,其中用到了switch()语句,我写的代码如下:


if(number==1)
{
Complex_Number user_number;
switch(option)
{
case 1:
user_number.input(cin);
++user_number;
user_number.output(cout);
break;
case 2:
user_number.input(cin);
Complex_Number temp=user_number++;
temp.output(cout);
break;
case 3:
user_number.input(cin);
--user_number;
user_number.output(cout);
break;
case 4:
user_number.input(cin);
Complex_Number temp=user_number--;
temp.output(cout);
break;
case 5:
case 6:
case 7:
case 8:
cout<<"\n你的操作数不满足此运算!";
break;
}
当我编译时就会提示:error “temp”的初始化操作由“case”标签跳过(提示指着case 3那里),下面的从case 5到8都是这样,其中还有一个error “temp”: 重定义;多次初始化(提示指着case 4下面的Complex_Number temp那一行)。
求各位高手帮忙解答一下这个错误的根源在哪里??
[解决办法]

if(number==1)
{
Complex_Number user_number;
Complex_Number temp; //temp的定义放上来,不然会重定义
switch(option)
{
case 1:
user_number.input(cin);
++user_number;
user_number.output(cout);
break;
case 2:
user_number.input(cin);
temp=user_number++;
temp.output(cout);
break;
case 3:
user_number.input(cin);
--user_number;
user_number.output(cout);
break;
case 4:
user_number.input(cin);
temp=user_number--;
temp.output(cout);
break;
case 5:
case 6:
case 7:
case 8:
cout<<"\n你的操作数不满足此运算!";
break;
}

[解决办法]
switch case里面不能定义变量。
[解决办法]
+1
引用:
switch case里面不能定义变量。

读书人网 >C++

热点推荐