Ich spiele mit C++ 11 zum Spaß. Ich frage mich, warum dies geschieht:Verwendung von Scope-Variablen in C++ 11 Lambda-Ausdrücke
//...
std::vector<P_EndPoint> agents;
P_CommunicationProtocol requestPacket;
//...
bool repeated = std::any_of(agents.begin(), agents.end(),
[](P_EndPoint i)->bool
{return requestPacket.identity().id()==i.id();});
Compilation endet mit diesem Fehler:
error: 'requestPacket' has not been declared
, die früher in Code deklariert wird. Ich habe versucht ::requestPacke
und es hat nicht funktioniert.
Wie kann ich eine externe Scope-Variable innerhalb einer Lambda-Funktion verwenden?
Sie sind in Seite eine Methode einer Klasse. Das ist kein guter Titel, vielleicht sollte ich es in 'out of scope' ändern ... –