15 Stimmen

STL-Prioritäts-Warteschlange für benutzerdefinierte Klasse

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?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X