Re: инстанцирование шаблона
От: okman Беларусь https://searchinform.ru/
Дата: 03.05.11 21:22
Оценка:
Здравствуйте, kodermax, Вы писали:

K>Есть шаблонная очередь с использованием vector

K>Как инстанцировать для своего класса, представляющего строку, изготовленную из vector<char>?
K>
K>template <class T> class mydeque {
K>protected:
K>       vector<T> first; //первый вектор - используется для вставки в начало очереди
K>       vector<T> second; //второй вектор - используется для вставки в конец очереди
K>public:
K>       mydeque()
K>       {
K>       };
K>       ~mydeque()
K>       {
K>       };
K>   void shift(const T& val)  // функция добавления элемента в начало очереди
K>   {
K>       first.push_back(val);
K>   }
K>   void push(const T& val)  //функция добавления элемента в конец очереди
K>   {
K>       second.push_back(val);
K>   }
K>   void print() 
K>   {
K>       vector<T>::iterator cur;
K>       for (cur=first.begin();cur<first.end();cur++)
K>       cout<<*cur;
K>       for (cur=second.begin();cur<second.end();cur++)
K>       cout<<*cur;
K>   }
K>private:
K>};
K>


Как инстанцировать ? Да как обычно (обратите внимание на пробел между закрывающими угловыми скобками):

mydeque<vector<char> > Deque;


Только строку vector<T>::iterator cur в методе print нужно дополнить ключевым словом typename:

typename vector<T>::iterator cur;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.