关于STL的另一个小问题:

我有字典:

map <string,vector <Wordy> > Dictionary;

使用结构Wordy:
struct Wordy{ int count; string word;}

这个结构也有重载的运算符<
bool operator< (Wordy& One, Wordy& Two){return One.count<Two.count;}

但是算法中的sort()函数不起作用!
sort(Dictionary.find(s)->second.begin(),Dictionary.find(s)->second.end());

最佳答案

您的operator<应该通过引用常量来接受其参数,我想可能是这样:

bool operator< (const Wordy& One, const Wordy& Two){return One.count<Two.count;}
//              ^^^^^             ^^^^^

关于c++ - STL的C++帮助-sort()函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6575993/

10-10 04:33