我看过 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
。
最佳答案
我不认为你可以那样做。
您可能想要做的是返回一个指向函数的指针,该函数采用一些 struct
指针作为唯一参数,并且在该 struct
中您有一个可变数字参数。
typedef void (*func1) (struct MyStruct*);
然后在 MyStruct
中:
struct MyStruct {
int param;
struct MyStruct* next;
};
或者类似的东西。您可以将结构链接在一起,并将它们全部读取为“参数”。
关于c++ - 根据参数返回指向具有不同签名的函数的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19941146/