Memberklasse deklarieren?
-
Hi,
ich habe folgenden Code://Muss _vor_ der Klassendefinition stehen!!! template<class Foo> void test(const Bar<Foo>::MemberKlasseVonBar&); template<class Foo> class Bar { public: class MemberKlasseVonBar { }; };wie kann ich diesen Code zum laufen bringen, bzw. wie kann ich Bar<Foo>::MemberKlasseVonBar deklarieren?
-
//Muss _vor_ der Klassendefinition stehen!!! template<class Foo> class Bar; template<class Foo> void test(const typename Bar<Foo>::MemberKlasseVonBar&); template<class Foo> class Bar { public: class MemberKlasseVonBar { }; };
-
Danke
-
Und wie muss ich diesen Code ändern?
template<class> class Foo { }; class Bar : public Foo<MemberKlasseVonBar> { public: class MemberKlasseVonBar { }; };
-
Hm, der beste Weg, der mir einfällt, ist dieser:
template<class> class Foo { }; class AbstractBar { AbstractBar(); public: class MemberKlasseVonBar { }; }; class Bar : public Foo<AbstractBar::MemberKlasseVonBar>, public AbstractBar { public: using AbstractBar::MemberKlasseVonBar; };