使用STL的列表对象

时间:2010-03-02 00:02:26

标签: c++ stl

我想用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 个答案:

答案 0 :(得分:8)

queue也是一个模板类,因此您需要指定队列中包含的元素类型。此外,-不是C ++中的合法标识符字符;也许你的意思是_

std::list<std::queue<SOME_TYPE_HERE> > list_queue;

答案 1 :(得分:1)

也“使用命名空间std”,并且在你的类定义之后需要有一个分号

280Z28是正确的,在头文件中“使用”对于生产代码来说是一个坏主意。但是,为了快速查看主要问题是否是标识符搜索范围,这仍然是一个合理的故障排除步骤。