所以我想要一个传递给模板化方法/类的函数指针,但我希望能够计算出函数指针需要多少个参数。无论如何不使用 c++11 就可以做到这一点。我有机会获得提升。 例如:
int test(int a, int b, int c){...}
template <typename F> templatedF(F func){
if(numArgs == ){do this}
}
templatedF(&test);
或者是实现此目的的唯一方法是写出具有我正在寻找的参数数量的显式模板实例化。
最佳答案
boost function_traits告诉您函数的元数。
我查看了源代码,它有最多 10 个参数的偏特化;据我所知,在 C++03 中确实没有其他方法可以做到这一点,使用 boost header 只会让您免于完成这项工作。
关于c++ - 函数指针模板参数个数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26532840/