c++ std::set 自定义类型插入set后查找不到
在C++中,我自定义了一个数据类型,重载了小于和等于运算符,插入一个元素后查找不到,怎么回事?现在我想只要前两个成员相等就相当于一个元素,我将Record("aaa",2)插入后,在调用find,却查找不到,求解?Set不是根据==来判断是否为同一个元素吗?
class Record
{
public:
string fileName;
int lineNum;
int freq;
int firstAppear;
Record(string filename,int lineNum):fileName(filename),lineNum(lineNum)
{
}
bool operator == (const Record& record0) const{
return (fileName == record0.fileName) && (lineNum == record0.lineNum);
}
bool operator < (const Record& info) const
{
return (freq>info.freq)||(freq==info.freq && firstAppear<info.firstAppear);
}
};