Ich versuche, meinen eigenen Schlüssel Komparator für std :: map zu implementieren wie folgt:Lambda Schlüssel Komparator für Karte
auto cost_compare = [](const OffsetCoords& left, const OffsetCoords& right) {
return (left == right); };
std::map<OffsetCoords, int, decltype(cost_compare)> cost_so_far(cost_compare);
wo OffsetCoords
ist struct, Vektor von x, y-Werte mit überladenen operator==
Code baut gut, aber wenn ich cost_so_far.count(some_offsetcoords_variable)
aufrufen, löst es Ausnahme "Ausdruck: ungültiger Komparator" aus.
Was ist der richtige Weg, dies zu tun?
Karte benötigt weniger als. –
http://stackoverflow.com/questions/9040689/stl-less-operator-and-invalid-operator-error –
Diese Frage erfüllt nicht die Anforderungen für eine [MCVE] und kann daher nicht beantwortet werden. –