Compartilhar via


Erro do compilador C3480

“var”: uma variável de captura lambda deve ser de um escopo de função delimitadora

A variável de captura lambda não é de um escopo de função delimitadora.

Para corrigir este erro

  • Remova a variável da lista de captura da expressão lambda.

Exemplos

O exemplo a seguir gera C3480 porque a variável global não é de um escopo de função delimitadora:

// C3480a.cpp

int global = 0;
int main()
{
   [&global] { global = 5; }(); // C3480
}

O exemplo a seguir resolve C3480 removendo a variável global da lista de captura da expressão lambda:

// C3480b.cpp

int global = 0;
int main()
{
   [] { global = 5; }();
}

Confira também

Expressões Lambda