Usando C++ 0x, ¿cómo puedo capturar una variable cuando tengo una lambda dentro de una lambda? Por ejemplo:Cierre y lambdas anidados en C++ 0x
std::vector<int> c1;
int v = 10; <--- I want to capture this variable
std::for_each(
c1.begin(),
c1.end(),
[v](int num) <--- This is fine...
{
std::vector<int> c2;
std::for_each(
c2.begin(),
c2.end(),
[v](int num) <--- error on this line, how do I recapture v?
{
// Do something
});
});
Conjeturaría asignación de la variable en el primer cierre podría ayudar. –
Lo anterior está bien en gcc4.5 - ¿está usando VC10? –
Sí, VC10. Lo reportaré a Microsoft. – DanDan