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