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;
};