Compartilhar via


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 ou extern para a lista de captura da expressão lambda.

Exemplo

O seguinte exemplo gera C3495 porque a variável staticn aparece na lista de captura de uma expressão lambda:

// C3495.cpp

int main()
{
   static int n = 66;
   [&n]() { return n; }(); // C3495
}

Confira também

Expressões Lambda