Partager via


Erreur du compilateur C3480

'variable' : une variable de capture lambda doit provenir d’une portée de fonction englobante

La variable de capture lambda ne provient pas d’une portée de fonction englobante.

Pour corriger cette erreur

  • Supprimez la variable de la liste de capture de l’expression lambda.

Exemples

L’exemple suivant génère l’erreur C3480, car la variable global ne provient pas d’une portée de fonction englobante :

// C3480a.cpp

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

L’exemple suivant résout l’erreur C3480 en supprimant la variable global de la liste de capture de l’expression lambda :

// C3480b.cpp

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

Voir aussi

Expressions lambda