LINUX.ORG.RU

История изменений

Исправление DarkEld3r, (текущая версия) :

Ну ты можешь написать вот так:

typename my_iterator<Cont>::reference operator*() const {return *it;}

Просто reference нельзя потому что имя должно быть зависимым. Можешь почитать тут, например. Там и на стандарт ссылаются.

Кстати, можно наследоваться сразу от std::iterator, а не от iterator_traits.

Исходная версия DarkEld3r, :

Ну ты можешь написать вот так:

typename my_iterator<Cont>::reference operator*() const {return *it;}

Просто референце нельзя потому что имя должно быть зависимым. Можешь почитать тут, например. Там и на стандарт ссылаются.

Кстати, можно наследоваться сразу от std::iterator, а не от iterator_traits.