Partager via


Erreur du compilateur C3490

impossible de modifier 'var' car il est accessible via un objet const

Une expression lambda déclarée dans une méthode const ne peut pas modifier des données membres non mutables.

Pour corriger cette erreur

  • Supprimez le modificateur const de votre déclaration de méthode.

Exemples

L’exemple suivant génère l’erreur C3490, car il modifie la variable membre _i dans une méthode const :

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

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

   int _i;
};

L’exemple suivant corrige l’erreur C3490 en supprimant le modificateur const de la déclaration de méthode :

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

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

   int _i;
};

Voir aussi

Expressions lambda