2012-12-13 110 views
1

我有枚举在一些头文件。是否有可能嵌套到类现有的枚举?是否可以嵌套到类现有的枚举

说明:

一些headerfile.h:

enum someEnum 
{ 
someValue 
/*other values*/ 
}; 

其他头:

#include "headerfile.h" 
class someClass 
{ 
public: 
    //using enum someEnum; //don't work as I want 
}; 

我想这someValue中会入店作为

 someClass::someValue 

所以我的问题是吗可能吗?

回答

2

以及一个方法是这样:

class someClass 
{ 
public: 

#include "headerfile.h" 

    //using enum someEnum; //don't work as I want 

}; 

不漂亮,但作品。

+0

似乎是唯一的方法..谢谢。 – HelloHi

3

您可以窝那enum定义:

class someClass { 
public: 
    enum someEnum { 
     someValue 
    }; 
}; 

然后你可以访问此枚举就像你想要的方式:

someClass::someEnum X = someClass::someValue; 

但是,如果你想要的是创建成员变量类型为someEnum,您可以通过仅提供someEnum作为类型,或嵌套枚举并将变量名称放在分号前。

+0

我知道嵌套(我在写这个问题的时候忘了这个词),但是我不能将这个枚举从他的头部移开,它必须停留在那里。问题是可以嵌套到现有的枚举类。 – HelloHi

2

您可以尝试将库包含在类定义中。