使用指向优先级队列

时间:2016-02-20 21:09:48

标签: c++ visual-c++ priority-queue

我正在尝试为对象使用priority_queue。

为了比较我编写以下构造的两个对象:

struct lessThanCost
{
    bool operator()(pNode*&lhs, pNode* &rhs)
    {
        return lhs->getCost() < rhs->getCost();
    }
};

我正在使用pNode *而不是pNode。我已将优先级队列初始化为:

priority_queue < pNode*, vector<pNode*>, lessThanCost>  frontier;

但是,我收到以下错误:

Error   3   error LNK2019: unresolved external symbol "public: double __thiscall problemNode::getCost(void)" (?getCost@problemNode@@QAENXZ) referenced in function "public: bool __thiscall lessThanCost::operator()(class problemNode * &,class problemNode * &)" (??RlessThanCost@@QAE_NAAPAVproblemNode@@0@Z)

此错误的原因是什么?我该如何解决?

0 个答案:

没有答案