【发布时间】:2015-04-26 18:14:47
【问题描述】:
在如下所示的类声明中定义static enum 和enum 定义有什么区别?
class Example
{
Example();
~Example();
static enum Items{ desk = 0, chair, monitor };
enum Colors{ red = 0, blue, green };
}
另外,既然我们在一个类中定义类型,我们怎么称呼它们?以此类推,如果我在一个类中定义一个变量,我们称它为成员变量。
【问题讨论】:
-
你用的是什么编译器?如果编译成功,我会感到惊讶,因为
static在这里没有多大意义。 -
如果您使用的是 C++11,请考虑使用
enum class。 -
static说明符在枚举声明中无效。这不应该编译。 -
@swalog 我正在使用 Visual Studio 2012。你知道我在哪里可以找到正在使用的编译器吗?我看到平台工具集是 Visual Studio 2012 (v110)。
-
@swalog 我打开了 Visual Studio 命令提示符并运行 cl.exe。它说我正在使用 Microsost (R) C/C++ Optimizing Compiler Version 17.00.50727.1 for X86。
标签: c++ class enums static nested