Re: проблема с typename
От: Ed.ward Россия  
Дата: 25.07.03 19:33
Оценка: 10 (2)
Здравствуйте, Andy77, Вы писали:

A>пытаюсь откомпилировать Stingray Stidio под VS2003... на мой взгляд, всё выглядит нормально, однако компилятор считает по-другому...


A>
A>--<list>--------------------------------------------------------------------------------------
A>template<class _Ty,
A>    class _Ax = allocator<_Ty> >
A>    class list
A>        : public _List_val<_Ty, _Ax>
A>    {
A>        class iterator
A>            : public const_iterator
A>            {
A>            }
A>    };

A>--<example>-----------------------------------------------------------------------------------

A>#include <list>

A>template <typename _Aggr, typename _Iter = typename _Aggr::iterator>
A>class Iterator
A>{
A>};

A>template <typename _Component>
A>class CComposite
A>{
A>    typedef std::list<_Component* > Children;

A>    class CompIterator:
A>        public Iterator<  >  // z:\nd\CppTest\Temp.h(16): error C2923: 'Iterator' : 'std::list<_Ty*>::iterator' is 
A>                                           // invalid as template argument '#2', type expected
A>                                           // z:\nd\CppTest\Temp.h(16): warning C4346: 'std::list<_Ty*>::iterator' : dependent 
A>                                           // name is not a type
A>    {
A>    };
A>};
A>


template <typename _Aggr, typename _Iter = typename _Aggr::iterator>


Ed.ward
... << RSDN@Home 1.0 beta 7a >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.