Udostępnij za pomocą


Błąd kompilatora C3495

"var": przechwytywanie lambda musi mieć automatyczny czas trwania magazynu

Uwagi

Nie można przechwycić zmiennej, która nie ma automatycznego czasu trwania magazynu, na przykład zmiennej oznaczonej static lub extern.

Aby poprawić ten błąd

  • Nie przekazuj zmiennej static lub extern do listy przechwytywania wyrażenia lambda.

Przykład

Poniższy przykład generuje C3495, ponieważ static zmienna n jest wyświetlana na liście przechwytywania wyrażenia lambda:

// C3495.cpp

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

Zobacz też

Wyrażenia lambda