Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
1 / 1 / 1
Регистрация: 03.05.2013
Сообщений: 27
1

Ошибка в объявлении итератора

18.05.2015, 08:11. Показов 2118. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пытаюсь создать класс deque на основе класса vector.
Создал итераторы для deque(все работало)
C++
1
2
vector<double> ::iterator begin()
vector<double> ::iterator end()
Но когда сделал класс шаблонным
C++
1
template <class T> class mydeque
и сделал так
C++
1
2
vector<T> ::iterator begin()
vector<T> ::iterator end()
Выскочила ошибка "warning C4346: std::vector<T>::iterator: зависимое имя не является типом, укажите префикс "typename" для задания типа"
Подскажите как быть
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.05.2015, 08:11
Ответы с готовыми решениями:

Ошибка в объявлении итератора
Здравствуйте!Помогите пожалуйста! Есть класс,в private имеется vector&lt;unsigned short&gt;. При...

Ошибка в классе итератора
В общем, решил я написать для своего класса, реализующего двунаправленный список, написать...

Инициализация итератора. Ошибка C3867
Здравствуйте. Пытаюсь запустить код из учебника Стенли Б.Липпмана стр 154. #include &quot;stdafx.h&quot;...

Ошибка при использовании итератора в реализации класса
На скрине всё понятно чо каво. Собственно, что я упустил? Что не дочитал? Проясните, пожалуйста. ...

2
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
18.05.2015, 10:53 2
Цитата Сообщение от Sasha760 Посмотреть сообщение
Выскочила ошибка "warning C4346: std::vector<T>::iterator: зависимое имя не является типом, укажите префикс "typename" для задания типа"
Вам же все и сказали typename lдопишите)
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
18.05.2015, 10:57 3
Цитата Сообщение от Sasha760 Посмотреть сообщение
Подскажите как быть
Цитата Сообщение от Sasha760 Посмотреть сообщение
укажите префикс "typename" для задания типа"
Если в шаблонном коде какая-то сущность является зависимой (вложенной) от шаблонного типа по умолчанию она может считаться чем угодно, но только не типом. Для явного указания, что это тип (а не статическое поле, например) требуется добавлять typename:
C++
1
typename vector<T>::iterator begin();
1
18.05.2015, 10:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.05.2015, 10:57
Помогаю со студенческими работами здесь

Ошибка в перегрузке операторов для класса - итератора
Добрый вечер. Есть заготовка программы для работы с матрицей, построенной из узлов с четырьмя...

Ошибка в объявлении переменной
Пишу программу, в которой нужно ввести строку символов (для дальнейшего ее шифрования), затем...

Ошибка в объявлении массива
Мне Вижуал Студия выдает список ошибок. Не пойму, чего от меня хочет. Вроде все правильно......

Ошибка в объявлении статической переменной
Знакомлюсь со статическими переменными в ООП, первая программа, ошибки в строке 6 . Как исправить?...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru