C++ Boost堆设置用户定义的比较函数

C++ Boost堆设置用户定义的比较函数,c++,boost,heap,C++,Boost,Heap,最近,我发现Boost.Heap在我的项目中非常有用。但我找不到任何示例代码来说明如何设置任意比较函数 #include "boost/heap/fibonacci_heap.hpp" using boost::heap::fibonacci_heap; int main(){ fibonacci_heap<int> pq; //default compare function std::less<int> } 例如,如何设置std::greater boos

最近,我发现Boost.Heap在我的项目中非常有用。但我找不到任何示例代码来说明如何设置任意比较函数

#include "boost/heap/fibonacci_heap.hpp"

using boost::heap::fibonacci_heap;
int main(){
    fibonacci_heap<int> pq; //default compare function std::less<int>
}
例如,如何设置std::greater

boost.heap文档说可以通过设置选项来设置它。但我不知道这是什么意思。有人能帮忙吗

试试这个:

typedef boost::heap::fibonacci_heap<
        int,
        boost::heap::compare<std::greater<int> > > MyHeap;
文档中没有显示如何指定选项。我必须仔细阅读单元测试源代码以找出正确的用法语法。

尝试以下方法:

typedef boost::heap::fibonacci_heap<
        int,
        boost::heap::compare<std::greater<int> > > MyHeap;

文档中没有显示如何指定选项。我必须仔细阅读单元测试源代码以找出正确的用法语法。

当我在您的答案后键入defined时,我收到一条错误消息,模板参数2无效。我只是复制并粘贴你的代码。我做错什么了吗?谢谢你的时间。我的答案中缺少一个端角括号。已编辑的答案。当我在您的答案后键入定义时,收到错误消息模板参数2无效。我只是复制并粘贴你的代码。我做错什么了吗?谢谢你的时间。我的答案中缺少一个端角括号。编辑答案。