我有一个结构,其中包含boost :: heap:.pairing_heap类型的成员。 我的目的是为配对堆传递一个比较函数(可以是成员,但不是必需的)。我怎样才能做到这一点。我试过这个。
我不明白错误信息。一切似乎都很好。
struct B{
//some more fields: irrelevant here
bool compare_(std::pair<int,int>&, std::pair<int,int>&);
boost::heap::pairing_heap<std::pair<int,int>, boost::heap::compare<compare_> > in;
};
bool Block::compare_(std::pair<int,int>& c, std::pair<int,int>& d)
{
//returns true or false based on some criteria
}
error: type/value mismatch at argument 1 in template parameter list for ‘template<class T> struct boost::heap::compare’