c++ - 无法找到简单的 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;
}
解决方案
您不能像这样使用枚举器,您必须创建该类型的特定对象,然后将其放入您的 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;
推荐阅读
- binary-tree - 如何判断两棵二叉树是否相等或不同
- typescript - 由于错误的频道,批量删除 discord.js 无法正常工作
- java - Chrome 崩溃:尝试在空对象引用上调用虚拟方法“long android.view.accessibility.AccessibilityNodeInfo.getSourceNodeId()”
- nlp - BERT 词嵌入预处理是如何工作的
- django - 如果在 Django ImportExportModelAdmin 中不存在,则创建对象
- c# - 我怎样才能改变对象的起始位置,同时在移动时更新它的位置?
- r - 从数据框中删除“FALSE”和“NAs”
- c++ - switch 语句无范围 case-labels 中的显式初始化和默认初始化有什么区别?
- xaml - Xamarin 在图像下方堆叠文本
- css - 如何使用包含它的组件的 CSS 向内部 Angular 组件添加边距