在类里面使用enum里面的struct?

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)

枚举在结构中不起作用,但是只要我将它包装在结构中,我就会收到此错误.

and*_*and 7

尝试

struct SomeType { // Note the open brace
Run Code Online (Sandbox Code Playgroud)