列挙型に変換する可能性のあるラッパーを用意したいと思います。前方宣言の問題:入れ子になった名前指定子で使用される '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;
};
そして私はこのような何かがしたい:
class Category : public StringConvertedEnum<Category::Enum> {
public:
enum Enum {
Category1,
Category2,
OTHER
};
};
をただし現時点では、それは、このエラーを経由してコンパイルしていない:
incomplete type 'enums::Category' used in nested name specifier
を
この問題を解決するにはどうすればよいですか?
[内部クラスを宣言するにはどうすればよいですか?](http://stackoverflow.com/questions/1021793/how-do-i-forward-declare-an-inner-class) – YSC
@YSC:私はそれが関連する読書だと思っていますが、正確には重複していません。 – AndyG