Мне нужно сделать общий двойной связанный список, и я сделал это в vc ++ 2010, и все работало хорошо, но я должен скомпилировать его с помощью gcc, но он не может скомпилировать его.Когда я вызываю метод с итератором в качестве параметра, я получаю эту ошибку:
no matching function for call to 'DLList<int>::Erase(DLList<int>::iterator, DLList<int>::iterator)'|
[...]note: candidates are: void DLList<T>::Erase(DLList<T>::iterator&, DLList<T>::iterator&) [with T = int]|
DLList находится в файле .h, и каждый метод определен как встроенный.Класс итератора также находится в классе DLList.
template<typename T>
class DLList{
[...]
public:
[...]
void Erase(iterator &_first, iterator &_last){...}
iterator first(){...}
iterator last(){...}
[...]
class iterator{...}
[...]
};
И код, вызывающий ошибку:
iList.Erase(iList.first(), iList.last());
(iList: DLList iList)
Как я могу это исправить?