我需要一个函数指针作为自变量的函数:C++用作其他函数的参数绑定功能
int func(int a, int (*b)(int, int))
{
return b(a,1);
}
现在我想使用已在此函数三个参数一定的功能:
int c(int, int, int)
{
// ...
}
我如何绑定的c
第一个参数,使我能够做到:
int i = func(10, c_bound);
我一直在寻找std::bind1st
,但我似乎无法弄清楚。它不会返回一个函数指针吗?我有充分的自由来适应func
,所以任何方法的改变都是可能的。 Althoug我希望我的代码的用户能够定义他们自己的c
...
请注意,上述是我正在使用的实际功能的一个凶猛的简化。
该项目可悲地要求C++98
。
即使我需要C++ 98代码,这个答案很容易转换成相当于boost的提升。 – romeovs