嘗試使用priority_queue。代碼是:爲什麼我的代碼使用priority_queue無法編譯?
struct HeapNode
{
int val;
int row;
int col;
HeapNode(int a, int b, int c) : val(a), row(b), col(c) {}
};
class MyComparator
{
public:
bool operator()(HeapNode &n1, HeapNode &n2)
{
return n1.val < n2.val;
}
};
void myfunction()
{
std::priority_queue<HeapNode, std::vector<HeapNode>, MyComparator> hp1; //LINE1
std::priority_queue<HeapNode, MyComparator> hp2; //LINE2
}
試過兩種方式,如LINE1和LINE2所示。 這兩行都不能通過編譯。
你說「通過編譯」就像是一個測試。這不是,也不應該作爲一個使用。除此之外,它給了什麼錯誤?警告?這些可以提供信息。 –