1 / 1 / 0
Регистрация: 24.09.2011
Сообщений: 66
|
||||||
1 | ||||||
Возникла трудность с шаблонами29.08.2012, 16:37. Показов 2269. Ответов 21
Метки нет (Все метки)
Не компилится следующий код. Не даёт вернуть итератор вектора. Почему нельзя так делать?
0
|
29.08.2012, 16:37 | |
Ответы с готовыми решениями:
21
Трудность с вычилениями. Трудность с компиляцией классов Трудность в создании программы на С++ линейный алгоритм Работа с шаблонами с++ |
1 / 1 / 0
Регистрация: 24.09.2011
Сообщений: 66
|
|
29.08.2012, 16:52 [ТС] | 3 |
-=ЮрА=-, это я понимаю. На самом деле у меня есть Класс, в котором есть метод, который возвращает(должен возвращать) итератор. А этот пример я придумал чтобы выразить суть проблемы.
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||||||
29.08.2012, 16:54 | 4 | |||||
1
|
Заблокирован
|
||||||
29.08.2012, 16:58 | 5 | |||||
- аааа ясно. Ну смотри без слова public ты как бы всё переменные сделал скрытыми возможно из за этого
Т.е. так компилится и работает
0
|
1 / 1 / 0
Регистрация: 24.09.2011
Сообщений: 66
|
|
29.08.2012, 16:59 [ТС] | 6 |
alsav22, Спасибо! Только вот теперь межете вкратце обьяснить что это было? Никогда раньше такого не юзал.
0
|
Заблокирован
|
||||||
29.08.2012, 16:59 | 7 | |||||
- аааа ясно. Ну смотри без слова public ты как бы всё переменные сделал скрытыми возможно из за этого грабли былиТ.е. так компилится и работает
0
|
1 / 1 / 0
Регистрация: 24.09.2011
Сообщений: 66
|
|
29.08.2012, 17:01 [ТС] | 8 |
-=ЮрА=-, Что-то у меня те же самые ошибки
0
|
154 / 138 / 34
Регистрация: 23.05.2009
Сообщений: 275
|
||||||
29.08.2012, 17:04 | 9 | |||||
koma3, указание typename явно говорит компилятору, что это тип.
В выражении:
iterator - это имя некого типа iterator - это статическая переменная. Указание ключевого слова typename разрешает эту неясность Собственно об этом нам намекает ворнинг, а ошибка возникает из-за того что компилятор считает std::vector<T>::iterator переменная, а переменная в качестве возвращаемого значения в прототипе метода класса/функции - это ошибка
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||||||
29.08.2012, 17:06 | 10 | |||||
Сам не знаю, в чём тут дело. Без typename компилятора выдаёт:
0
|
Заблокирован
|
||||||
29.08.2012, 17:08 | 11 | |||||
- я хз что у тебя
Без полного кода твоего класса ответить невозможно!
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||||||
29.08.2012, 17:15 | 12 | |||||
mingv строже, у него уже ошибка:
0
|
|
29.08.2012, 17:19
#13
|
Не по теме:
0
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
29.08.2012, 17:23 | 15 |
1
|
154 / 138 / 34
Регистрация: 23.05.2009
Сообщений: 275
|
|
29.08.2012, 17:29 | 16 |
0
|
~ Эврика! ~
1256 / 1005 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
|
|
29.08.2012, 18:44 | 18 |
Возьмите за правило: в любом шаблонном описании вида тип<тип>::тип писать typename перед ним. Компилятор себе и так ноги ломает на синтаксисе Си++, помогите ему выжить. А то он vector<int>::iterator путает с именем метода.
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
29.08.2012, 20:06 | 19 |
Сообщение было отмечено как решение
Решение
Пожалуйста, у меня к тебе просьба. Всего одна, не надо сбивать с толку людей, задающих вопрос.
Либо поставь нормальный компилятор, соответствующий стандарту С++98/03 (или С++11) и проверяй код в нем, а если не компилируется - разберись перед тем как отвечать. Либо смотри в стандарт/книжку, которая описывает реалии стандартов С++.
3
|
|
29.08.2012, 20:20
Возникла трудность с шаблонами
#20
|
Не по теме: ForEveR, может мне кроме компилятора пойти убицца ап стену?Не дождешся!И у меня к тебе просьба-хочешь что то сказать пиши в ЛС, а не загаживай форум;)
0
|
29.08.2012, 20:20 | |
Работа с шаблонами Работа с шаблонами С++ Проблема с шаблонами Ошибка с шаблонами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |