c++ - 在没有事先声明的情况下错误使用枚举?

标签 c++

我正在通过一本书学习 C++,但以下示例在代码块中不起作用。我的编译器报错:

use of enum 'Days' without previous declaration

有人可以在这里启发我吗?

#include <iostream>
using namespace std;

int main() // main routine
{
    int a;
    enum Days (zo,ma,di,wo,do,vr,za); // <error here> : use of enum 'Days' without previous declaration
    Days today;
    today = ma;
    if (today == zo || today == za)
        cout << "weekend \n"
    else
        cout << "ohno workday \n";
    return 0;
}

最佳答案

您错误地使用了 enum。你的括号应该是大括号:

enum Days {zo,ma,di,wo,do,vr,za};

现在 zo 将等于 0,因为您没有明确定义一个值,此后的每个值都将比上一个多 1。

还要注意(很容易,由于语法突出显示)do 与为 do...while 语句保留的 do 关键字冲突。

关于c++ - 在没有事先声明的情况下错误使用枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10888011/

相关文章:

c++ - 线程、信号和子处理 : What a world. ..多么美好的世界

c++ - const 成员作为非常量返回

c++ - 这个geeksforgeeks trie实现是否存在内存泄漏问题?

c++ - native 代码中的托管 dll(通过 com)。它是在 com 服务器进程中还是进程外?

c++ - 通用迭代器/指针初始化

c++ - 在 C 程序中创建我自己的 std::vector

c++ - 使用 std::copy 复制数组时出现段错误

c++ - boost::asio::error 类不再存在

c++ - 如何处理 void decltype();

c++ - 用于打印函数进入和退出跟踪的宏