我最近遇到了这个:
static enum Response{
NO_ERROR=0,
MISSING_DESCRIPTOR,
...
};
它在 Microsoft VS2005 下编译和工作。但是,我不确定“静态”修饰符应该做什么。和下面有什么不同吗?
enum Response {
NO_ERROR=0,
MISSING_DESCRIPTOR,
...
};
最佳答案
仅删除省略号的确切代码不是有效的 C++。您不能在 enum
声明中使用 static
存储类说明符;它在那里没有任何意义(只有对象、函数和匿名 union 可以声明为 static
)。
但是,您可以在一个声明中声明一个 enum
和一个变量:
static enum Response {
NO_ERROR = 0,
MISSING_DESCRIPTOR
} x;
这里的static
适用于x
,实际上和你说的一样:
enum Response {
NO_ERROR = 0,
MISSING_DESCRIPTOR
};
static Response x;
关于c++ - "static enum"在 C++ 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4971436/