Vorlagen und verschachtelte Klassen/Strukturen

Ich habe einen einfachen container :

template <class nodeType> list {
    public:
        struct node {
            nodeType info;
            node* next;
        };

    //...
};

Nun, es gibt eine Funktion namens _search die durchsucht die Liste und gibt eine Referenz auf den Knoten, die aufeinander abgestimmt sind. Nun, wenn ich beziehe mich auf den return-Typ der Funktion, ich denke, es sollte list<nodeType>::node*. Ist das richtig? Wenn ich definieren Sie die Funktion, inline, es funktioniert perfekt:

template <class nodeType> list {
    public:
        struct node {
            nodeType info;
            node* next;
        };

        node* _search {
            node* temp;
            //search for the node
            return temp;
        }
};

Aber, wenn ich die Definition der Funktion außerhalb der Klasse,

template <class nodeType> list<nodeType>::node* list<nodeType>::_search() {
    //function
}

funktioniert es nicht. Der compiler gibt eine Fehlermeldung Expected constructor before list<nodeType>::_search oder so etwas. Der Fehler ist etwas ähnlich wie diese. Ich don ' T haben einen Computer, auf dem ich es testen kann, derzeit.

Jede Hilfe ist herzlich willkommen.

InformationsquelleAutor Rohan Prabhu | 2009-11-07
Schreibe einen Kommentar