Udostępnij za pomocą


Błąd kompilatora C3480

"var": zmienna przechwytywania lambda musi pochodzić z otaczającego zakresu funkcji

Uwagi

Zmienna przechwytywania lambda nie pochodzi z otaczającego zakresu funkcji.

Aby poprawić ten błąd

  • Usuń zmienną z listy przechwytywania wyrażenia lambda.

Example

Poniższy przykład generuje C3480, ponieważ zmienna global nie pochodzi z otaczającego zakresu funkcji:

// C3480a.cpp

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

Poniższy przykład rozwiązuje problem C3480 przez usunięcie zmiennej global z listy przechwytywania wyrażenia lambda:

// C3480b.cpp

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

Zobacz też

Wyrażenia lambda