Condividi tramite


Errore del compilatore C3490

impossibile modificare 'var' perché l'accesso viene effettuato tramite un oggetto const

Osservazioni:

Un'espressione lambda dichiarata in un metodo const non può modificare i dati di membri non modificabili.

Per correggere l'errore

  • Rimuovere il modificatore const dalla dichiarazione di metodo.

Example

L'esempio seguente genera l'errore C3490 perché modifica la variabile membro _i in un metodo const :

// C3490a.cpp
// compile with: /c

class C
{
   void f() const
   {
      auto x = [=]() { _i = 20; }; // C3490
   }

   int _i;
};

L'esempio seguente risolve l'errore C3490 rimuovendo il modificatore const dalla dichiarazione di metodo:

// C3490b.cpp
// compile with: /c

class C
{
   void f()
   {
      auto x = [=]() { _i = 20; };
   }

   int _i;
};

Vedi anche

Espressioni lambda