c ++ funkcja porównania niestandardowego dla std :: sort ()
Chcę utworzyć niestandardową funkcję porównania dla std :: sort (), aby posortować niektóre pary klucz-wartość std :: pair
Oto moja funkcja
template <typename K, typename V>
int comparePairs(const void* left, const void* right){
if((((pair<K,V>*)left)->first) <= (((pair<K,V>*)right)->first))
return 1;
else
return -1;
}
Następnie wewnątrz pewnej klasy mam wektor członka klasy par:
vector<pair<K,V>> items;
I pewna metoda sortowania tego wektora za pomocą klawiszy, przy użyciu std :: sort ()
std::sort(items.begin(), items.end(), comparePairs<K,V>);
Mam błędy kompilacji, które powiedziały
„nie można przekonwertować numeru parametru z„ std :: pair <_Ty1, _Ty2> ”na„ const void * ”
. Co to jest błąd?