函数指针模板参数的数量

时间:2014-10-23 16:29:30

标签: c++ templates function-pointers

所以我希望有一个传递给模板化方法/类的函数指针,但我希望能够弄清楚函数指针占用多少个参数。无论如何不使用c ++ 11就可以做到这一点。我有权获得提升。 例如:

int test(int a, int b, int c){...}


template <typename F> templatedF(F func){
 if(numArgs == ){do this}
}


templatedF(&test);

或者是实现此目的的唯一方法来写出具有我正在寻找的args数量的显式模板实例化。

1 个答案:

答案 0 :(得分:1)

boost function_traits告诉你一个函数的arity。

我查看了源代码,它有多达10个参数的部分特化;据我所知,在C ++ 03中没有其他方法可以做到这一点,使用boost标头只会让你无法完成工作。