我在我的集合中使用 lambda 而不是比较器类,但我遇到了问题。
我有这样的事情:
class Processor {
private:
const function<bool(std::string, std::string)> _lenComp = [](string a, string b) { return a != b && a.size() >= b.size(); };
set<string, decltype(_lenComp)> _inputSet;
// ...
public:
Processor() : _inputSet() {
}
void addLine(string line) {
_inputSet.insert(line);
}
当我创建一个Processor
实例并调用addLine
两次时,我收到错误的函数调用异常。如何正确初始化此类?