T bar(std::function<T()> f) {
return f();
}
};
И такой код:
Foo foo;
// Работает
std::function<bool()> f = []() { return true; };
foo.bar(f);
// Не компилируется
foo.bar([]() { return true; });
Объясните плз, почему лямбду в данном случае не принимает и как правильно написать?
А ошибка какая
У каждой лямбды уникальный тип, оберни ее в std::function и тогда передавай.
А, ты уже так сделал
Обсуждают сегодня