21
다른 클래스 범위 내에서 정의 된 열거 형을 전달할 수 있는지 궁금합니다. 예를 들어, 다음을 고려 : 다른 헤더에 나는 '유형'열거를 선언 전달하고 싶습니다 지금C++ 전달 클래스 선언 범위 열거 형
//A.h
class A
{
public:
enum class type: unsigned long { /*some stuff*/ }
};
을 (가정하자 클래스 B는 밑에 :: 유형으로 무언가를하는 기능을 가지고)
//B.h
enum A::type; //use of undefined type 'A'
class B
{
public:
UseTypeEnum(A::Type&);
};
이 작동하지 않습니다 중 하나
열거가 아에서 전역 범위에서 선언 된 경우 아무 문제가 없습니다//B.h
class A;
enum A::type; //still use of undefined type
class B...
이렇게 할 방법이 있습니까?
열거 형은 정적 멤버로 선언해야합니다. 열거 형 선언을 생략하고 프로그램을 작성할 수는 없습니까? –
for enum : http://stackoverflow.com/questions/2238170/forward-declaration-of-nested-enum –