Partilhar via


Erro do compilador C3480

'var': uma variável de captura lambda tem de provir de um escopo de função abrangente

Observações

A variável de captura lambda não pertence ao escopo de uma função envolvente.

Para corrigir este erro

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

Example

O exemplo a seguir gera C3480 porque a variável global não está dentro de um escopo de função envolvente.

// 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; }();
}

Consulte também

Expressões do Lambda