lower_bound findet operator< nicht
-
Hiho,
ich habe folgende kleine Struktur:
namespace A3D { struct Condition { . . . // bool operator<(const Condition& other) { return (boundaryMarker < other.boundaryMarker); } } }Dazu gibt es einen std::vector<Condition> Auf diesen möchte ich std::lower_bound anwenden. Der Compiler meckert aber immer, dass er keinen geeigneten oeprator < findet. Woran liegt das?
Mfg Pellaeon
-
Pellaeon schrieb:
Woran liegt das?
Daran dass du zu wenig relevanten Code zeigst oder Fehlermeldungen zeigst. Eventuell auch an fehlender const-correctness. Oder daran dass implizite Konvertierung des ersten Arguments nötig ist, du aber eine Memberfunktion hast. Kann man halt nicht sagen ohne mehr Code.
Da das obige aber ohnehin schon einmal zwei Mängel an deinem Operator sind, solltest du diese auch gleich verbessern: Also entweder die Methode const machen oder den Operator als freie Funktion implementieren. Vielleicht hilft das ja schon.
-
SeppJ schrieb:
Pellaeon schrieb:
Woran liegt das?
Daran dass du zu wenig relevanten Code zeigst oder Fehlermeldungen zeigst. Eventuell auch an fehlender const-correctness. Oder daran dass implizite Konvertierung des ersten Arguments nötig ist, du aber eine Memberfunktion hast. Kann man halt nicht sagen ohne mehr Code.
Da das obige aber ohnehin schon einmal zwei Mängel an deinem Operator sind, solltest du diese auch gleich verbessern: Also entweder die Methode const machen oder den Operator als freie Funktion implementieren. Vielleicht hilft das ja schon.
Viel mehr gibst auch nicht zu zeigen. Das const war des Rätsels Lösung. War ich wohl betriebsblind^^ Danke für den Hinweis
