Erreur du compilateur C3495
'var' : une capture lambda doit avoir une durée de stockage automatique
Vous ne pouvez pas capturer une variable qui n’a pas de durée de stockage automatique, telle qu’une variable qui est marquée static
ou extern
.
Pour corriger cette erreur
- Ne passez pas une variable
static
niextern
à la liste de capture de l’expression lambda.
Exemple
L’exemple suivant génère l’erreur C3495, car la variable static
n
figure dans la liste de capture d’une expression lambda :
// C3495.cpp
int main()
{
static int n = 66;
[&n]() { return n; }(); // C3495
}