Estou usando lambdas em vez de uma classe comparadora para meu conjunto, mas estou tendo problemas.
Eu tenho algo assim:
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);
}
Quando crio uma Processor
instância e chamo addLine
2 vezes, recebo uma exceção de chamada de função incorreta. Como inicializo corretamente esta classe?