我得到了一个包含对的向量。我的对有模板参数。
std::vector<std::pair<T1, T2> > myVector;
我想按对的第二个数据标签对 myVector 进行排序,所以按“值”(T2),而不是“键”(T1)。我在这里看到我可以使用这种甜蜜的方法:
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);
}
};