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.