次の方法で共有


コンパイラ エラー C3490

'var' は const オブジェクトを通じてアクセスされているため変更できません

const メソッドで宣言されているラムダ式は、変更不能なメンバー データを変更することはできません。

このエラーを解決するには

  • メソッド宣言から const 修飾子を削除します。

次の例では、 _i メソッドでメンバー変数 const を変更するため、C3490 が生成されます。

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

関連項目

ラムダ式