Erro do compilador C3493
'var' não pode ser capturado implicitamente porque nenhum modo de captura padrão foi especificado
A captura de expressão lambda vazia []
especifica que a expressão lambda não captura explicitamente ou implicitamente nenhuma variável.
Para corrigir este erro
Fornecer um modo de captura padrão ou
Capturar explicitamente uma ou mais variáveis.
Exemplos
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 o C3493 especificando por referência como o modo de captura padrão.
// C3493b.cpp
int main()
{
int m = 55;
[&](int n) { m = n; }(99);
}