首页 > 解决方案 > 无法找到简单的 switch case 枚举错误

问题描述

我正在尝试学习在 switch case 语句中使用枚举,但不断收到错误“expected unqualified-id”。到目前为止,我找不到任何可以指出我的问题的东西。

感谢您的帮助!

我在 Mac 上使用 VSCode。这是我的代码:

    #include <iostream>

using namespace std;


int main() {

enum day_code{Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Error};

 switch (day_code){

 case 0:
     cout << "Case 0 is: " << endl;
     break;
 case 1:
     cout << "Case 1 is: " << endl;
     break;
case 2:
     cout << "Case 2 is: " << endl;
     break;
case 3:
     cout << "Case 3 is: " << endl;
     break;
case 4:
     cout << "Case 4 is: " << endl;
     break;
 default:
     break;
 
 }
    
cout << endl;
    return 0;
}

VSCode/错误消息的片段

标签: c++

解决方案


您不能像这样使用枚举器,您必须创建该类型的特定对象,然后将其放入您的 switch 语句中。

Case 0 is:在这里您的代码已编辑,没有错误并按预期打印出来:

enum day_code { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Error };

day_code test = Sunday;

switch (test) {

case 0:
    cout << "Case 0 is: " << endl;
    break;
case 1:
    cout << "Case 1 is: " << endl;
    break;
case 2:
    cout << "Case 2 is: " << endl;
    break;
case 3:
    cout << "Case 3 is: " << endl;
    break;
case 4:
    cout << "Case 4 is: " << endl;
    break;
default:
    break;

}

cout << endl;
return 0;

推荐阅读