【发布时间】:2013-11-25 07:24:12
【问题描述】:
我见过this link describing a fixed signature example,但想知道如何编写一个函数来返回一个指向函数的指针,该函数的签名取决于调用函数的参数(如果可能的话)?
例子:
假设我有
typedef void (*func1) (int);
typedef void (*func2) (int, int);
我想要一个函数get_func,它根据整数参数的值返回一个指向其中一个或另一个的指针,例如:
get_func1(0) 返回func1;
get_func2(1) 返回func2。
【问题讨论】:
-
您可以返回具有两个不同
operator ()重载的对象。否则不 - 这是一种静态类型的语言。 -
调用代码如何使用结果?
-
调用者在尝试调用指向的函数时如何知道有多少参数及其类型?
-
你看过
std::function吗? en.cppreference.com/w/cpp/utility/functional/function
标签: c++ function-pointers function-signature