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?

questionAnswers(3)

yourAnswerToTheQuestion