usando variáveis fora do escopo em expressões lambda C ++ 11
Estou brincando com o C ++ 11 por diversão. Eu estou querendo saber porque isso acontece:
//...
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();});
A compilação termina com este erro:
error: 'requestPacket' has not been declared
Que é declarado anteriormente no código. eu tentei::requestPacke
e não funcionou também.
Como posso usar uma variável de escopo externo dentro de uma função lambda?