Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Nie można zmodyfikować elementu "var", ponieważ jest on uzyskiwany za pośrednictwem obiektu const
Uwagi
Wyrażenie lambda zadeklarowane w metodzie const nie może modyfikować danych składowych, które nie są modyfikowalne.
Aby poprawić ten błąd
-
constUsuń modyfikator z deklaracji metody.
Example
Poniższy przykład generuje C3490, ponieważ modyfikuje zmienną _i składową w metodzie const :
// C3490a.cpp
// compile with: /c
class C
{
void f() const
{
auto x = [=]() { _i = 20; }; // C3490
}
int _i;
};
Poniższy przykład rozwiązuje problem C3490 przez usunięcie const modyfikatora z deklaracji metody:
// C3490b.cpp
// compile with: /c
class C
{
void f()
{
auto x = [=]() { _i = 20; };
}
int _i;
};