【发布时间】:2011-12-04 23:57:33
【问题描述】:
我在枚举周围包裹了一个结构以获得一个作用域枚举。例如:
namespace Xyz
{
struct SortDirection
{
enum Enum {ASC, DESC};
};
class MyClass
...
这很好用。现在我正在尝试定义相同类型的枚举/结构组合,但这次 inside 类:
class MainDialog
{
public:
...
private:
struct SomeType
enum Columns {
ROW_NUMBER_COLUMN,
NAME_COLUMN,
AGE_COLUMN,
COLUMN_MAX_COUNT_
};
};
}
但是这给了我一个智能感知错误:
错误:类型说明符的组合无效
当我尝试编译时,我得到:
1>c:\something\maindialog.h(80): error C2236: unexpected
'enum' 'MainDialog::Columns'. Did you forget a ';'?
枚举在结构内工作正常不是,但是一旦我将它包装在结构中,我就会收到此错误。
【问题讨论】:
-
这是数据结构的大炮。