Использование объекта списка STL - PullRequest
4 голосов
/ 02 марта 2010

Я хочу создать список очередей в C ++, но компилятор выдает мне некоторые загадочные сообщения:

#include <list>
#include <queue>

class Test
{
    [...]
    list<queue> list_queue;
    [...]
}

Выход:

error C2143: syntax error : missing ';' before '<'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C2238: unexpected token(s) preceding ';'

Это выдает мне ту же ошибку, даже если я использую int в качестве параметра шаблона. Что происходит?

(кстати, я использую VC ++ 2008 EE)

Ответы [ 2 ]

8 голосов
/ 02 марта 2010

queue также является классом шаблона, поэтому вам нужно будет указать тип элемента, содержащийся в ваших очередях. Кроме того, - не является символом допустимого идентификатора в C ++; возможно вы имели ввиду _?

std::list<std::queue<SOME_TYPE_HERE> > list_queue;
1 голос
/ 02 марта 2010

также "используя пространство имен std", и после определения класса должна быть точка с запятой

280Z28 прав, что «использование» в заголовочном файле - плохая идея для производственного кода. Тем не менее, это разумный шаг для устранения неполадок, чтобы быстро определить, является ли основной проблемой поиск по идентификатору.

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