#include <iostream>
#include <vector>
#include <algorithm>
class MyData
{
public:
int m_iData;
bool operator<(MyData rhs) { return m_iData < rhs.m_iData; }
};
int main()
{
std:: vector <MyData> myvector(2, MyData());
myvector[0].m_iData=2; myvector[1].m_iData=4;
std::sort(myvector.begin(), myvector.end());
}
试图编译这给出:错误:使 'const的T' 为 '这个' 的参数 '布尔T ::操作者<(T)' 丢弃限定符
error: passing 'const MyData' as 'this' argument of 'bool MyData::operator<(MyData)'
discards qualifiers
请将标题中的“ - ”更改为“T”。我很难理解这个问题。 (我不知道为什么我在这个问题上没有编辑按钮,虽然...) – kay