希望将带有预定义参数的指向成员函数传递给函数。
typedef void(ClassWithFunction::*Func)(int, int);
m_cwf = ClassWithFunction(); // member variable
int arg1 = 0;
int arg2 = 1;
giveMeAFunction(&ClassWithFunction::aFunc);
使用std::bind
可以预先定义std::function
将使用的参数。
giveMeAFunction(std::bind(&ClassWithFunction::aFunc, &m_cwf, arg1, arg2));
如何使用C风格的函数指针执行此操作?
void ClassProcessingFunction::giveMeAFunction(Func func)
{
func(); // arguments pre-applied
}