ошибки C2146, C2061 ! что делать ?
От: Аноним  
Дата: 24.03.10 14:56
Оценка:
это не компиляется в 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...
Re: ошибки C2146, C2061 ! что делать ?
От: посетитель /life/  
Дата: 24.03.10 15:22
Оценка:
Здравствуйте, Аноним, Вы писали:

А>это не компиляется в 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...
Re[2]: ошибки C2146, C2061 ! что делать ?
От: w40  
Дата: 24.03.10 16:07
Оценка:
Здравствуйте, посетитель /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!

флудить на абстрактные темы проще, чем давать ответы на конкретные вопросы...
Re[3]: ошибки C2146, C2061 ! что делать ?
От: посетитель /life/  
Дата: 24.03.10 16:35
Оценка:
Здравствуйте, w40, Вы писали:

А>>>typedef typename _CSomeList::iterator myiter; // !!! error C2146: syntax error : missing ';' before identifier


w40>Большое спасибо! Впрочем, и не ожидал.

w40>Сам управился. Надо так:
w40>
typedef typename _CSomeList::iterator myiter; // OK!


Что значит сам?) Этот typename я вставил в цитату и выделил жирным, вы заметили?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.