無法修改 'var',因為正由常數物件存取中
備註
在 const 方法中宣告的 Lambda 運算式不能修改不可變動的成員資料。
更正這個錯誤
- 移除方法宣告的
const修飾詞。
Example
下列範例會產生 C3490,因為它修改了 _i 方法中的成員變數 const :
// C3490a.cpp
// compile with: /c
class C
{
void f() const
{
auto x = [=]() { _i = 20; }; // C3490
}
int _i;
};
下例會藉由移除方法宣告的 const 修飾詞來解析 C3490:
// C3490b.cpp
// compile with: /c
class C
{
void f()
{
auto x = [=]() { _i = 20; };
}
int _i;
};