Использование итератора в методах шаблонного класса унаследованного от std::list

Ребята, у меня следующая беда. Есть класс унаследованный от std::list

template <class T>
class priority_queue : public list<T>
{
public:
    priority_queue& push(T);
    priority_queue& pop();
    T top();
};

Определяю метод push():

template <class T>
priority_queue<T>& priority_queue<T>::push(T data)
{
    list<T>::iterator iter = this->begin();
    while (iter != this->end() && *iter > data)
        iter++;
    this->insert(iter, data);
    return *this;
}

И значит, list::iterator - теперь у меня неизвестный токен. Как правильно использовать итераторы в таких случаях? Ничего не нагуглил.


Ответы (0 шт):