我想实现一个成员函数,该函数将指针指向其他成员函数并返回静态绑定。可能是什么:一个lambda
或? std::function
。采用成员函数并返回静态lambda/std :: function的C++函数
由于这一刻,我在C++ 11作了如下意图没有成功:
#include <functional>
#include <iostream>
class MyClass{
public:
auto link(std::function<void(MyClass::*)(int)> func)->std::function<void(int)>
{
return [this, func](int i){func(i);};
}
auto myFunc(int i)->void { std::cout << "Ok:" << i << std::endl; }
auto test()->void
{
link(&MyClass::myFunc)(4);
}
};
auto main()->int
{
MyClass c;
return 0;
}
*“没有标准::功能,可以从一个指针到成员函数直接构造” *时, re是'std :: function ' –
@PiotrS。哎呀,我忘了C++实际上可以让你这样做。我将不得不编辑我的答案。 – Brian