Use*_*ser 1 c++ enums struct class
我已经在枚举周围包了一个结构来获得一个范围的枚举.例如:
namespace Xyz
{
struct SortDirection
{
enum Enum {ASC, DESC};
};
class MyClass
...
Run Code Online (Sandbox Code Playgroud)
这很好用.现在我正在尝试定义相同类型的枚举/结构组合,但这次是在类中:
class MainDialog
{
public:
...
private:
struct SomeType
enum Columns {
ROW_NUMBER_COLUMN,
NAME_COLUMN,
AGE_COLUMN,
COLUMN_MAX_COUNT_
};
};
}
Run Code Online (Sandbox Code Playgroud)
但是这给了我一个智能感知错误:
错误:类型说明符的组合无效
当我尝试编译时,我得到:
1>c:\something\maindialog.h(80): error C2236: unexpected
'enum' 'MainDialog::Columns'. Did you forget a ';'?
Run Code Online (Sandbox Code Playgroud)
枚举在结构中不起作用,但是只要我将它包装在结构中,我就会收到此错误.