Szablony i zagnieżdżone klasy / struktury

Mam prosty pojemnik:

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

    //...
};

Teraz jest funkcja o nazwie_search który przeszukuje listę i zwraca odniesienie do pasującego węzła. Teraz, kiedy mówię o typie powrotu funkcji, myślę, że tak powinno byćlist<nodeType>::node*. Czy to jest poprawne? Kiedy definiuję funkcję w linii, działa ona doskonale:

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

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

Ale jeśli zdefiniuję funkcję poza klasą,

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

to nie działa. Kompilator informuje o błędzieExpected constructor before list<nodeType>::_search lub coś. Błąd jest podobny do tego. Nie mam komputera, na którym mogę go teraz przetestować.

Każda pomoc jest szczerze doceniana.

questionAnswers(2)

yourAnswerToTheQuestion