2

为什么 C++ 不允许这样的事情?

我需要有多个优先级队列,其数量将在运行时确定。

这无法编译

std::vector<std::priorityqueue<Class A>>.

有更好的方法吗?

4

2 回答 2

6

正确的代码是:

std::vector<std::priority_queue<A> >

注意Class不属于next Apriority_queue里面有下划线,并且两个直角括号之间需要一个空格(>>被解析为右移运算符)。

这也要求A是小于可比的(如果不是,那么您必须提供一个比较函数以供优先级队列使用)。

于 2010-08-13T21:23:47.277 回答
1

这应该工作得很好。只是语法应该是:

std::vector<std::priority_queue<A> >

(注意结尾附近的空格(“”)。

于 2010-08-13T21:24:02.847 回答