在C++中'case'开关大小写错误之前的预期'{'

expected '{' before 'case' switch case error in C++

本文关键字:开关 C++ case 大小写 错误      更新时间:2023-10-16

我必须创建一个程序,以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 作为每个事例的起始值。

正如错误试图告诉您的那样,switch case是不合法的 C。
你需要switch(i).

switch case(i){ 

不是有效的语法。

它应该是

switch(i) {

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

我想你是用其他语言长大的。 正确的语法是:

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

请检查C++切换语句语法:

switch (i) {
    ....
}