2
Je suis en train de remplacer l'opérateur < comme suit:comment remplacer l'opérateur <
intérieur Noeud:
bool operator <(const Node* other) {
return *(this->GetData()) < *(other->GetData());
}
intérieur du véhicule:
bool operator <(const Vehicle &other) {
return this->GetKilometersLeft() < other.GetKilometersLeft();
}
invoquant l'opérateur:
while (index > 0 && m_heapVector[index] < m_heapVector[parent(index)])
définition de vecteur:
vector<Node<T>*> m_heapVector;
J'ai vérifié l'appel et il n'appelle pas les opérateurs substitués.
me devança. "Ajuster l'opérateur en conséquence" signifie "Node :: operator <()' devrait prendre une référence, pas un pointeur, à 'other'. –
@Ben aucun problème, opérateur fixe – Anycorn
@Roy, l'opérateur de notification devrait être '(const Node & other)' – Anycorn