-1
我都不得不声明,对最低元素的优先级队列如下如何在功能参数在C++中
priority_queue<int, vector<int> , greater<vector<int>> > low;
现在我想这个对象传递给一些申报优先级队列功能,为了这个,我需要在函数头部声明,我试图声明如下方式
int fun1(priority_queue<int, vector<int> , greater<vector<int>> > min_heap){
return 0;
}
int fun2(priority_queue<int> min_heap){
return 0;
}
; 由于类型不匹配,第二种方法很明显会给出错误,但编译器不允许采用第一种方法。 请帮帮我。
_in这两种方法我越来越编译错误_并且,您没有复制粘贴错误消息,因为?他们应该确切地说出了什么问题。另外 - 请提供[mcve]。 –
您是否确实打算制作优先队列的副本,以便通过值传递给您的函数?如果没有,您需要打开C++书籍中的章节,解释如何使用引用并读取它。 –
最后一个模板参数用于比较队列中的元素(在你的情况下是'int's),而不是用于存储这些元素的容器(也就是,不是'vector's)。 –