не справляюсь с STL
От: Matracc  
Дата: 01.02.07 08:38
Оценка:
есть необходимость сделать шаблон класса, с атрибутами — объектами типа vector и vector::iterator
вот в таком виде:

template<typename first, typename second>
class some_class
{
protected:
struct field_type
{
first v1;
second v2;
};

vector<field_type> vect;
/*(*)*/ vector<field_type>::iterator cursor;

............................
............................
............................
};

VC7 ругается такими словами на строку с коментарием (*):
warning C4346: 'std::vector<vect<_Ty,_Ax,T3>::cursor>::iterator' : dependent name is not a type
prefix with 'typename' to indicate a type
На нее же: error C2146: syntax error : missing ';' before identifier 'cursor'
и опять про нее: error C2501: 'some_class<first,second>::vect' : missing storage-class or type specifiers

Здесь cursor должен указывать на некоторый элемент вектора vect. Подскажите пожалуйста, что здесь можно придумать!
Хотел поменять тип итератора на какой-нибудь другой, но не нашел адекватной замены: итератор должен уметь двигаться в обе стороны и еще такую вещь:

cursor = 0;
...
if(cursor != 0)
blablabla;

Заранее спасибо!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.