Ich habe große Schwierigkeiten, meine Prioritätswarteschlange zu erkennen, nach welchem Parameter sie sortiert werden soll. Ich habe den "less than" -Operator in meiner benutzerdefinierten Klasse überladen, scheint ihn aber nicht zu verwenden. Hier ist der relevante Code:STL-Prioritätswarteschlange für benutzerdefinierte Klasse
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
main.cpp
priority_queue<Node*, vector<Node*>,less<vector<Node*>::value_type> > nodesToCheck;
Was vermisse ich und/oder mache ich falsch?
Sie in Chai AI sein muss Klasse :) http://stackoverflow.com/questions/1517854/priorityqueue-comparison-for-pointers – Polaris878
Gute detective Fähigkeiten;) – bmalicoat