【发布时间】:2019-09-17 09:03:32
【问题描述】:
我尝试使用constructor 为priority_queue 分配内存,但出现以下错误:
'priority_queue pq(3)'的初始化没有匹配的构造函数
为什么这在 priority_queue 中不起作用但在 vectors 中正常工作?
#include <iostream>
#include <queue>
using namespace std;
int main()
{
priority_queue<int> pqueue(4);
pqueue.push(3);
pqueue.push(5);
pqueue.push(1);
pqueue.push(2);
}
【问题讨论】:
-
即使对于
std::vector,这不仅会分配内存,还会初始化它。您的示例将产生一个包含 (0,0,0,0,3,5,1,2) 的向量。请注意这一点。
标签: c++ oop stl queue priority-queue