Vorlagen und verschachtelte Klassen / Strukturen

Ich habe einen einfachen Container:

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

    //...
};

Nun gibt es eine Funktion namens_search Dadurch wird die Liste durchsucht und ein Verweis auf den übereinstimmenden Knoten zurückgegeben. Wenn ich mich jetzt auf den Rückgabetyp der Funktion beziehe, denke ich, dass es sein solltelist<nodeType>::node*. Ist das richtig? Wenn ich die Funktion inline definiere, funktioniert es 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 Funktion außerhalb der Klasse definiere,

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

es funktioniert nicht Der Compiler gibt eine Fehlermeldung ausExpected constructor before list<nodeType>::_search oder so. Der Fehler ist ähnlich. Ich habe keine Maschine, auf der ich sie derzeit testen kann.

Jede Hilfe wird aufrichtig geschätzt.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage