Delen via


Compilerfout C3490

'var' kan niet worden gewijzigd omdat deze wordt geopend via een const-object

Opmerkingen

Een lambda-expressie die is gedeclareerd in een const methode, kan niet-veranderlijke lidgegevens niet wijzigen.

Deze fout corrigeren

  • Verwijder de modifier uit uw const-methodedeclaratie.

Example

In het volgende voorbeeld wordt C3490 gegenereerd omdat de lidvariabele _i in een const methode wordt gewijzigd:

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

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

   int _i;
};

In het volgende voorbeeld wordt C3490 omgezet door de const wijzigingsfunctie uit de methodedeclaratie te verwijderen:

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

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

   int _i;
};

Zie ook

Lambda-expressies