Erro C3495 do Compilador
'var': uma captura da expressão lambda deve ter duração de armazenamento automático
Você não pode capturar uma variável que não tenha duração de armazenamento automático, como uma variável que esteja marcada static
ou extern
.
Para corrigir este erro
- Não passe uma variável
static
ouextern
para a lista de captura da expressão lambda.
Exemplo
O seguinte exemplo gera C3495 porque a variável static
n
aparece na lista de captura de uma expressão lambda:
// C3495.cpp
int main()
{
static int n = 66;
[&n]() { return n; }(); // C3495
}