Megosztás a következőn keresztül:


C3490 fordítóhiba

A "var" nem módosítható, mert const objektumon keresztül érhető el

Megjegyzések

A metódusban const deklarált lambdakifejezések nem módosíthatják a nem módosítható tagadatokat.

A hiba kijavítása

  • Távolítsa el a const módosítót a metódusdeklarációból.

Example

Az alábbi példa azért hozza létre a C3490-et, mert módosítja a tagváltozót _i egy const metódusban:

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

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

   int _i;
};

Az alábbi példa úgy oldja fel a C3490-et, hogy eltávolítja a const módosítót a metódusdeklarációból:

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

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

   int _i;
};

Lásd még

Lambda-kifejezések