使用具有自定义数据结构的STL队列

时间:2014-12-23 15:31:41

标签: c++ stl queue

我正在尝试在我的一个函数中使用STL队列。在函数内部,我有以下代码:

struct node {
    int player1X, player1Y, player2X, player2Y;
    int steps;
};
queue<node> q;

但不知怎的,这个队列不会初始化没有错误(queue<int>工作正常)。我做错了什么?

PS声明中有4个错误:

error: template argument for ‘template<class> class std::allocator’ uses local type ‘PathFinding::minTurns(std::vector<std::basic_string<char> >)::node’

error:   trying to instantiate ‘template<class> class std::allocator’

error: template argument 2 is invalid

error: invalid type in declaration before ‘;’ token

如果我将node交换为int,则所有4个错误都会消失。

1 个答案:

答案 0 :(得分:4)

尝试在命名空间中定义函数外部的结构,例如在全局命名空间中。看来你有一个旧的编译器。