2012-12-13 2 views
1

일부 헤더 파일에 enum이 있습니다. 클래스 기존 열거 형에 중첩 할 수 있습니까?기존의 enum 클래스를 중첩 할 수 있습니다

설명 :

일부 headerfile.h :

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

다른 헤더 : 나는 someValue와 그래서

 someClass::someValue 

내 질문으로 액세스가가 능 것을 원하는

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

그것은 가능하니?

답변

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

클래스 정의 안에 라이브러리를 포함 시키려고 할 수 있습니다.