c++ - 函数指针模板参数个数

标签 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);

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

最佳答案

boost function_traits告诉您函数的元数。

我查看了源代码,它有最多 10 个参数的偏特化;据我所知,在 C++03 中确实没有其他方法可以做到这一点,使用 boost header 只会让您免于完成这项工作。

关于c++ - 函数指针模板参数个数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26532840/

相关文章:

c++ - Linux 上 Netbeans 中的代码帮助

c++ - Microsoft Visual C++ 2010 和 Arduino UNO 通过 USB 之间的串行通信

c++ - 如何使迭代器成为 "automatically dereferenced"?

c++ - 何时使用模板与继承

C++ "simple"具有任意参数和返回值的函数的函数回调

c++ - 是否可以获得内置标准运算符的函数指针?

c++ - std::greater<int>() 和 std::greater<int> 之间的区别?

c++ - 如何从指针获取 vector 的大小

rust - 如何从Rust调用原始地址?

c - C中的函数指针转换