编译器错误 C3482

“this”只能在非静态成员函数中用作 lambda 捕获

不能将 this 传递至在静态方法或全局函数中声明的 lambda 表达式的捕获列表中。

更正此错误

  • 将封闭函数转换为非静态方法,或

  • 从 lambda 表达式的捕获列表中删除 this 指针。

示例

以下示例生成 C3482:

// C3482.cpp
// compile with: /c

class C
{
public:
   static void staticMethod()
   {
      [this] {}(); // C3482
   }
};

另请参阅

Lambda 表达式