ペアを含むベクトルを取得しました。私のペアにはテンプレートパラメータがあります。
std::vector<std::pair<T1, T2> > myVector;
myVectorをペアの2番目のデータタグで並べ替えたいので、「キー」(T1)ではなく「値」(T2)で並べ替えます。私はここで私がこの甘い方法を使うことができるのを見ました:
std::sort(myVector.begin(), myVector.end(), mySortingFunc);
これは私のsortFuncです:
bool mySortingFunc (std::pair<T1, T2> pair1, std::pair<T1, T2> pair2){
return (pair1.second<pair2.second);
}
コンパイルされていないので、10キロメートルの長さのエラーが発生します。(私はg ++を使用します)これをどのように行うべきですか?
- 編集:
実際のコード:
template<typename T1, typename T2>
class OrderedMMap
{
std::vector<std::pair<T1, T2> > myVector;
public:
bool sortFunc (std::pair<T1, T2> pair1, std::pair<T1, T2> pair2) {
return (pair1.second<pair2.second);
}
void sortIt()
{
std::sort(myVector.begin(), myVector.end(), sortFunc);
}
};