Kompilatorfel C3490

Det går inte att ändra var eftersom det används via ett const-objekt

Anmärkningar

Ett lambda-uttryck som deklareras i en const metod kan inte ändra icke-föränderliga medlemsdata.

Så här åtgärdar du det här felet

  • const Ta bort modifieraren från metoddeklarationen.

Example

I följande exempel genereras C3490 eftersom den ändrar medlemsvariabeln _i i en const metod:

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

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

   int _i;
};

Följande exempel löser C3490 genom att ta bort const modifieraren från metoddeklarationen:

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

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

   int _i;
};

Se även

Lambda-uttryck