fehler bei funktion von template klasse
-
ich versuche hier gerade eine template-klasse zu programmieren, und da soll noch eine klasse reinkommen. eine funktion soll ein objekt dieser klasse dann zurückgeben, also so.
template<class T> class Aussen { public: class Innen { }; Innen objekt(); }; template<class T> Aussen<T>::Innen Aussen<T>::objekt() { return Innen(); }aber es kommt dann immer so eine fehlermeldung:
template.cpp:12: error: expected constructor, destructor, or type conversion before 'Foo'mit int und so geht das aber nicht mit innen. ich hoffe mir kann da jemand helfen.
MFG Jonas
-
Hallo,
der Fehler stammt nicht aus dem geposteten Code, denn dort ist weit und breit kein Foo zu sehen.
-
Ich vermute mal, daß du auch bei der Definition des Rückgabewertes den kompletten Typ angeben mußt:
return Außen<T>::Innen();.
-
template<class T> typename Aussen<T>::Innen Aussen<T>::objekt() { return Innen(); }