Partilhar via


Erro de compilador C3493

'var' não pode ser capturado implicitamente porque nenhum modo de captura padrão foi especificado

Observações

A captura de expressão lambda vazia, [], especifica que a expressão lambda não captura explícita ou implicitamente nenhuma variável.

Para corrigir este erro

  • Forneça um modo de captura padrão ou

  • Capture explicitamente uma ou mais variáveis.

Example

O exemplo a seguir gera C3493 porque modifica uma variável externa, mas especifica a cláusula de captura vazia:

// C3493a.cpp

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

O exemplo a seguir resolve C3493 especificando by-reference como o modo de captura padrão.

// C3493b.cpp

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

Consulte também

Expressões do Lambda