Ich habe große Probleme damit, dass meine Prioritätswarteschlange erkennt, nach welchem Parameter sie sortieren soll. Ich habe den less than-Operator in meiner benutzerdefinierten Klasse überladen, aber er scheint ihn nicht zu verwenden. Hier ist der relevante Code:
Node.h
class Node
{
public:
Node(...);
~Node();
bool operator<(Node &aNode);
...
}
Node.cpp
#include "Node.h"
bool Node::operator<(Node &aNode)
{
return (this->getTotalCost() < aNode.getTotalCost());
}
getTotalCost() gibt ein int zurück
main.cpp
priority_queue<Node*, vector<Node*>,less<vector<Node*>::value_type> > nodesToCheck;
Was übersehe ich und/oder mache ich falsch?