Re: почему g++ ругается?
От: _Dreamer Россия  
Дата: 23.08.06 03:56
Оценка: 1 (1)
Здравствуйте, coreduo, Вы писали:

C>День добрый! Видимо ночь, поэтому не соображаю


C>template<class _Type> class A

C>{
C>public:
C>typedef typename _Type* iterator;
C>};

C>g++ версии 4.1.1 ругается:


C>test.cpp:4: error: expected nested-name-specifier before '_Type'

C>test.cpp:4: error: expected ';' before '*' token

C>А мелкософтовский компиллер съедает с удовольствием такую конструкцию.


а зачем там ставить typename ? если б было так —
template<class _Type> class A
{
public:
typedef typename some_temlate_class< _Type >::value * iterator;
};

тогда все понятно.
а так — _Type и так тип, и _Type * тоже тип. какая тут неопределенность ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.