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();
    }
    

Anmelden zum Antworten