Не могу скомпилировать итератор std :: list с шаблоном - PullRequest
2 голосов
/ 16 декабря 2009

Когда я пытаюсь скомпилировать это, я получаю эту ошибку:

error: expected `;' before 'it'

Почему я не могу объявить этот итератор? Где проблема?

#include <list>

template <typename Z>
class LBFuncBase: public LBBaseBlock<Z>
{
    void Something() {
         std::list<LBBaseBlock< Z >* >::iterator it;
    }
};

1 Ответ

12 голосов
/ 16 декабря 2009

Попробуйте:

typename std::list<LBBaseBlock< Z >* >::iterator it;

Edit:

См. " Почему вам иногда нужно писать имя типа " для объяснения.

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