void some_func(int param = get_default_param_value());
Run Code Online (Sandbox Code Playgroud) 我试图捕获thislambda 函数中的指针,该函数用作方法的默认参数。
我的目标是从 lambda 中调用此类的方法,这需要捕获指针this。
但是,以下代码会导致错误:
错误 C3639:作为默认参数一部分的 lambda 只能有一个 init-capture
克服此限制的常见解决方案是什么?
#include <functional>
class A{
public:
void B(std::function<void()> a = [this](){}); //error C3639: a lambda that is part of a default argument can only have an init-capture.
};
Run Code Online (Sandbox Code Playgroud)