Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
'var' cannot be modified because it is being accessed through a const object
A lambda expression that is declared in a const
method cannot modify non-mutable member data.
To correct this error
- Remove the
const
modifier from your method declaration.
Examples
The following example generates C3490 because it modifies the member variable _i
in a const
method:
// C3490a.cpp
// compile with: /c
class C
{
void f() const
{
auto x = [=]() { _i = 20; }; // C3490
}
int _i;
};
The following example resolves C3490 by removing the const
modifier from the method declaration:
// C3490b.cpp
// compile with: /c
class C
{
void f()
{
auto x = [=]() { _i = 20; };
}
int _i;
};