Sagen, ich habe die folgende Variable ein Lambda enthält:C++ 11 `auto` Lambda zu einem anderen Lambda ändern?
auto a = [] { return true; };
Und ich will a
false
später zurückzukehren. Könnte ich etwas in diesem Sinne tun?
a = [] { return false; };
Diese Syntax gibt mir die folgenden Fehler:
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
Gibt es eine Möglichkeit, so etwas zu erreichen? Ich möchte die Variable auto
zu einem anderen Lambda ändern. Ich bin ein Anfänger, also kann mir etwas Wissen über auto
oder lambdas fehlen. Vielen Dank.
Da ist der 'bool b = wahr; auto a = [& b] {zurück b; }; b = falsch; "Lösung, aber dies verallgemeinert natürlich nicht alle Situationen. – MSalters