Errore del compilatore C3493
impossibile acquisire in modo implicito 'var' perché non è stata specificata alcuna modalità di acquisizione predefinita
L'acquisizione di espressioni lambda vuota, []
, specifica che l'espressione lambda non acquisisce le variabili in modo esplicito o implicito.
Per correggere l'errore
Specificare una modalità di acquisizione predefinita oppure
Acquisire una o più variabili in modo esplicito.
Esempi
L'esempio seguente genera l'errore C3493 perché modifica una variabile esterna ma specifica la clausola di acquisizione vuota:
// C3493a.cpp
int main()
{
int m = 55;
[](int n) { m = n; }(99); // C3493
}
L'esempio seguente risolve l'errore C3493 specificando la modalità di acquisizione predefinita mediante riferimento.
// C3493b.cpp
int main()
{
int m = 55;
[&](int n) { m = n; }(99);
}