共用方式為


編譯器錯誤 C3490

無法修改 'var',因為正由常數物件存取中

const 方法中宣告的 Lambda 運算式不能修改不可變動的成員資料。

更正這個錯誤

  • 移除方法宣告的 const 修飾詞。

範例

下列範例會產生 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;
};

另請參閱

Lambda 運算式