所以我希望有一个传递给模板化方法/类的函数指针,但我希望能够弄清楚函数指针占用多少个参数。无论如何不使用c ++ 11就可以做到这一点。我有权获得提升。 例如:
int test(int a, int b, int c){...}
template <typename F> templatedF(F func){
if(numArgs == ){do this}
}
templatedF(&test);
或者是实现此目的的唯一方法来写出具有我正在寻找的args数量的显式模板实例化。
答案 0 :(得分:1)
boost function_traits告诉你一个函数的arity。
我查看了源代码,它有多达10个参数的部分特化;据我所知,在C ++ 03中没有其他方法可以做到这一点,使用boost标头只会让你无法完成工作。