LINUX.ORG.RU

не компилируется при "-pedantic"


0

0

1: #include <list>
2: template <class T>
3: void f(list<T> l){
4: list<T>::iterator i;
5: i=l.begin();
6: }
[zhora]$ gcc -c x.cpp
#OK
[zhora]$ gcc -pedantic -c x.cpp
x.cpp: In function `void f (list<T, allocator<_Tp1> >)':
x.cpp:4: parse error before `;'

в чем проблема?

anonymous

понял! надо писать 4: typename list<T>::iterator i; к стати, кто может пояснить что typename означает

anonymous
()
Ответ на: комментарий от anonymous

> к стати, кто может пояснить что typename означает

А вот такое специальное заклинание для того, чтоб в -pedantic компилировалось :))

typename даёт компилятору намёк, что list<T>::iterator ни что иное как тип, объявленный внутри класса|шаблона.

loki
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.