열거 형 주위에 래퍼가 있어야 문자열로 변환 할 수 있고 그 반대도 가능합니다.전달 선언에 문제가 있습니다. 중첩 된 이름 지정자에 사용되는 'enums :: Category'형식이 불완전합니다.
기본 클래스는 다음
template<typename TEnum>
class StringConvertedEnum {
public:
static std::string toString(TEnum e);
static TEnum toEnum(std::string &str);
protected:
static const std::map<std::string, TEnum> _stringMapping;
static const std::map<TEnum, std::string> _enumMapping;
};
을 그리고 나는이 같은 것을 갖고 싶어 :
incomplete type 'enums::Category' used in nested name specifier
:
class Category : public StringConvertedEnum<Category::Enum> {
public:
enum Enum {
Category1,
Category2,
OTHER
};
};
그러나 현재의 순간에 그것은이 오류를 통해 컴파일 아니에요을
이 문제를 해결하는 방법?
[내부 클래스를 선언하는 방법은 무엇입니까?] (http://stackoverflow.com/questions/1021793/how-do-i-forward-declare-an-inner-class) – YSC
@YSC : 나는 그것이 적절한 읽기라고 생각하지만 정확하게 중복 된 것은 아닙니다. – AndyG