Error del compilador C3493

'var' no se puede capturar de forma implícita porque no se ha especificado ningún modo de captura predeterminado

La captura de la expresión lambda vacía, [], especifica que la expresión lambda no captura de forma explícita ni implícita ninguna variable.

Para corregir este error

  • Proporcione un modo de captura predeterminado, o bien

  • Capture explícitamente una o varias variables.

Ejemplos

El ejemplo siguiente genera el error C3493 porque modifica una variable externa, pero especifica la cláusula de captura vacía:

// C3493a.cpp

int main()
{
   int m = 55;
   [](int n) { m = n; }(99); // C3493
}

El ejemplo siguiente resuelve el error C3493 especificando mediante referencia como el modo de captura predeterminado.

// C3493b.cpp

int main()
{
   int m = 55;
   [&](int n) { m = n; }(99);
}

Consulte también

Expresiones lambda