проблема итератора cpp - PullRequest
       4

проблема итератора cpp

1 голос
/ 25 марта 2009
template<class T>
    class mStack
    {
    private:
       vector<T> a; 
       vector<T>::iterator top;
    public:
       void push(T);
       T pop();
       mStack();
       void printStack();
};

Код с указанным выше классом не компилируется ... почему? В чем проблема? Компилятор говорит «ожидается; выше вершины».

1 Ответ

12 голосов
/ 25 марта 2009

Вам нужно имя:

typename vector<T>::iterator top;

Это заверяет компилятор, что vector<T> действительно является типом. Для обсуждения этого и других шаблонов ошибок, смотрите C ++ FAQ .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...