Share via


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