Verwendung von Scope-Variablen in C ++ 11 Lambda-Ausdrücken

7

Ich spiele mit C ++ 11 zum Spaß. Ich frage mich, warum das passiert:

%Vor%

Die Kompilierung endet mit diesem Fehler:

%Vor%

Was früher im Code deklariert wurde. Ich habe ::requestPacke ausprobiert und es hat auch nicht funktioniert.

Wie kann ich eine externe Scope-Variable innerhalb einer Lambda-Funktion verwenden?

    
sorush-r 04.06.2013, 12:46
quelle

1 Antwort

24

Sie müssen die Variable erfassen , entweder nach Wert (mit der [=] -Syntax)

%Vor%

oder als Referenz (mit der [&] -Syntax)

%Vor%

Beachten Sie, dass globale Variablen mit statischer Speicherdauer nicht erfasst werden, wie @aschepler angibt , nur Variablen auf Funktionsebene :

%Vor%     
TemplateRex 04.06.2013, 12:50
quelle

Tags und Links