C++11 C99枚举-需要澄清

C++11 C99枚举-需要澄清,c++11,enums,c99,variable-declaration,C++11,Enums,C99,Variable Declaration,我已经复习过了,但被接受的答案对我来说毫无意义。我应该能够将C99中的枚举定义为 enum WeekDays { MON, TUES, WED, THURS, FRI, SAT, SUN }days; 并按如下主要步骤使用枚举: days = FRI; if (days == FRI) { printf("Thank God it's Friday!"); } 为什么要在接受的答案中增加使用枚举的工作?您的代码应该可以工作。一般来说,您所指的公认答案是更好的编程实践。最好将新

我已经复习过了,但被接受的答案对我来说毫无意义。我应该能够将C99中的枚举定义为

enum WeekDays
{
    MON, TUES, WED, THURS, FRI, SAT, SUN
}days;
并按如下主要步骤使用枚举:

days = FRI;
if (days == FRI)
{
    printf("Thank God it's Friday!");
}

为什么要在接受的答案中增加使用枚举的工作?

您的代码应该可以工作。一般来说,您所指的公认答案是更好的编程实践。最好将新类型的声明与这些类型的使用分开。例如,如果您编写了一个用于日操作的库,则可能会在该库中包含枚举工作日。但是,在这里定义一个变量供程序使用是不好的。
随着时间的推移,程序员发现这种分离很有价值。它通常有助于提高代码的可读性

您的问题是什么?你混淆C和C++吗?@福肯奇克,也许我混淆了C99和C++ 11。我记得在学习c时,Enum和struts可以在定义中声明一个变量,但显然这并不是推荐的,因为下面的答案规定了这一点。问题中描述的错误发生在两行代码出现在文件范围时。请看我最近对的评论。我很感激你在回答中所带来的知识。我在上面介绍的必须是定义和使用枚举的旧方法。谢谢。@如果我的回答回答了你的问题,请接受