template< class T >
class DblLinkedList{
...
private:
class Node{
...
...
};
Node* getNodeByIndex(int index);
};
...
template<class T>
DblLinkedList<T>::Node* DblLinkedList <T>::getNodeByIndex(int index){}
Компилятор выдает ошибку следующего содержания:
expected constructor, destructor, or type conversion before ‘*’
Решение:
template<class T>
typename DblLinkedList<T>::Node* DblLinkedList <T>::getNodeByIndex(int index){}
В данном случае необходимо "подсказать" компилятору что DblLinkedList::Node* это определение указателя на тип, а не ошибочное определение конструктора для класса Node
Спасибо огромное! Только что возникла такая проблема :D
ОтветитьУдалитьШаблоны в C++, они такие)
Удалить