Condividi tramite


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

Vedi anche

Espressioni lambda