Скажем, у меня есть следующая переменная, содержащая лямбда:
auto a = [] { return true; };
И я хочу a
вернуть false
позже. Могу ли я что-то сделать по этому поводу?
a = [] { return false; };
Этот синтаксис дает мне следующие ошибки:
binary '=' : no operator found which takes a right-hand operand of type
'main::<lambda_a7185966f92d197a64e4878ceff8af4a>' (or there is no acceptable conversion)
IntelliSense: no operator "=" matches these operands
operand types are: lambda []bool ()->bool = lambda []bool ()->bool
Есть ли способ добиться чего-то подобного? Я хотел бы изменить переменную auto
на другую лямбду. Я на редкость новичок, поэтому мне может быть не хватает знаний о auto
или lambdas. Спасибо.