我正在尝试为对象使用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)
此错误的原因是什么?我该如何解决?