我有一个函数需要根据一些输入参数返回一个排序列表。我选择了一个std::priority_queue
来保存这个列表。
但是编译器给了我一个我不认识的错误。这是我的代码:
struct DepthCompare {
bool operator()
(const struct inst *&lhs, const struct inst *&rhs) const
{
return lhs->depth < rhs->depth;
}
};
typedef priority_queue<struct inst*> HeuristicList;
HeuristicList getHeuristicList(struct BasicBlock &) {
HeuristicList ret( DepthCompare );
return ret;
}
conversion from 'HeuristicList (*)(DepthCompare)' to non-scalar type 'HeuristicList' requested
编译器在 return 语句的行上说 a 。
看起来我并没有试图返回一个指针。怎么了?