Ich habe viele C# -Erfahrung vorher, aber ich bin neu in C++. Ich habe dieses Problem beim Versuch gesehen, Lambda zu verwenden, wie ich es früher getan habe.Kann ich eine C++ - Lambda-Funktion ohne Auto definieren?
Zum Beispiel:
auto compare = [] (int i1, int i2) { return i1*2 > i2; }
Gibt es eine Möglichkeit, das Lambda mit einer bestimmten Art zu definieren, anstatt Auto Abzug?
Ich frage das, weil ich ein gemeinsames Lambda für meine Klasse definieren möchte. Dieses Lambada wird an mehreren Orten verwendet, so dass ich sie nicht mehrfach definieren möchte. 'Auto' kann jedoch nur für statische Member verwendet werden, während ich andererseits auf nicht statische Felder im Lambda zugreifen möchte.
Versuchen Sie es mit [std :: function] (http://www.cplusplus.com/reference/functional/function/function/). – Nard
Sie können auf nicht statische Felder zugreifen, indem Sie 'this' erfassen. – cdhowie