это не компиляется в msvc 2005, но компиляется в msvc 2003:
template<int _itemSize, int _itemCount>
class CSome //, protected CALLOCATOR
{};
template<int _itemSize, int _itemCount>
class CSomeList
{
typedef CSome<_itemSize,_itemCount> _CSome;
typedef std::list< _CSome* > _CSomeList;
typedef _CSomeList::iterator myiter; // !!! error C2146: syntax error : missing ';' before identifier 'myiter'
...
bool is_myptr_iter(void* vp, myiter& it) //!!!error C2061: syntax error : identifier 'myiter'
{...}
};
помогите — как исправить, чтоб заработало в 2005...
Здравствуйте, Аноним, Вы писали:
А>это не компиляется в msvc 2005, но компиляется в msvc 2003:
А>А>template<int _itemSize, int _itemCount>
А>class CSome //, protected CALLOCATOR
А>{};
А>template<int _itemSize, int _itemCount>
А>class CSomeList
А>{
А>typedef CSome<_itemSize,_itemCount> _CSome;
А>typedef std::list< _CSome* > _CSomeList;
А>typedef typename _CSomeList::iterator myiter; // !!! error C2146: syntax error : missing ';' before identifier 'myiter'
А>...
А>bool is_myptr_iter(void* vp, myiter& it) //!!!error C2061: syntax error : identifier 'myiter'
А>{...}
А>};
А>
помогите — как исправить, чтоб заработало в 2005...
Здравствуйте, посетитель /life/, Вы писали:
ПL>Здравствуйте, Аноним, Вы писали:
А>>это не компиляется в msvc 2005, но компиляется в msvc 2003:
А>>А>>template<int _itemSize, int _itemCount>
А>>class CSome //, protected CALLOCATOR
А>>{};
А>>template<int _itemSize, int _itemCount>
А>>class CSomeList
А>>{
А>>typedef CSome<_itemSize,_itemCount> _CSome;
А>>typedef std::list< _CSome* > _CSomeList;
А>>typedef typename _CSomeList::iterator myiter; // !!! error C2146: syntax error : missing ';' before identifier 'myiter'
А>>...
А>>bool is_myptr_iter(void* vp, myiter& it) //!!!error C2061: syntax error : identifier 'myiter'
А>>{...}
А>>};
А>>
помогите — как исправить, чтоб заработало в 2005...
Большое спасибо!

Впрочем, и не ожидал.
Сам управился. Надо так:
typedef typename _CSomeList::iterator myiter; // OK!
флудить на абстрактные темы проще, чем давать ответы на конкретные вопросы...
Здравствуйте, w40, Вы писали:
А>>>typedef typename _CSomeList::iterator myiter; // !!! error C2146: syntax error : missing ';' before identifier
w40>Большое спасибо!
Впрочем, и не ожидал.
w40>Сам управился. Надо так:
w40>typedef typename _CSomeList::iterator myiter; // OK!
Что значит сам?) Этот typename я вставил в цитату и выделил жирным, вы заметили?