在C ++中预期'{'之前'case'切换案例错误

时间:2013-10-16 21:24:25

标签: c++ switch-statement

我必须创建一个程序,在C ++中显示给定表达式的值。所以,我决定制作一个开关/盒子并用它来计算和显示它们!但是,我遇到了一些错误,我无法解决...

#include <iostream>

using namespace std;

int main()
{

    for(int i = 0; i < 6; i++){
        int x = 5, y = 8;

        switch case(i){

            case 0:
            x+=(++x)+(x++);
            cout << "x+=(++x)+(x++) = " << x << endl;
            break;

            case 1:
            x+=++y;
            cout << "x+=++y = " << x << endl;
            break;

            case 2:
            x+=2*x++;
            cout << "x+=2*x++ = " << x << endl;
            break;

            case 3:
            x=--y+x--+x;
            cout << "x=--y+x--+x = " << x << endl;
            break;

            case 4:
            x-=(-y)%3;
            cout << "x-=(-y)%3 = " << x << endl;
            break;

            case 5:
            y+=--y+x-y%x--;
            cout << "y+=--y+x-y%x-- = " << y << endl;
            break;

            case 6:
            x+=++y---x+y++;
            cout << "x+=++y---x+y++ = " << x << endl;
            break;

            default:
            cout << "Wrong value." << endl;
            break;
        }

    }

    return 0;
}

返回错误的行是

switch case(i){

而且,有两个警告,变量'x'和'y'没有被使用,但我确实在每种情况下使用它们。我应该在每种情况下单独声明它们吗?对于每种情况,它们必须具有值5和8作为起始值。

4 个答案:

答案 0 :(得分:4)

由于错误试图告诉您,switch case不合法C. 您需要switch(i)

答案 1 :(得分:2)

switch case(i){ 

不是有效的语法。

应该是

switch(i) {

由于此错误导致内部情况不可见,因此它会向您发出警告variables 'x' and 'y' not being used

答案 2 :(得分:2)

我认为你已经被其他语言提升了。正确的语法是:

switch(i) {
   // case statements
   // optional default statement
}

答案 3 :(得分:1)

请检查C ++ switch语句语法:

switch (i) {
    ....
}