Sdílet prostřednictvím


Chyba kompilátoru C3490

'var' nelze upravit, protože k němu přistupujete prostřednictvím objektu const.

Poznámky

Výraz lambda, který je deklarován v const metodě, nemůže změnit nesměnitelná členová data.

Oprava této chyby

  • const Odeberte modifikátor z deklarace metody.

Example

Následující příklad generuje C3490, protože upravuje členské proměnné _i v const metodě:

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

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

   int _i;
};

Následující příklad vyřeší C3490 odebráním const modifikátoru z deklarace metody:

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

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

   int _i;
};

Viz také

Výrazy lambda