鉴于以下各种变量
int *a = 0;
char *b = "string"
我可以将它们都放入void *hold;
中
我找不到function pointers.
void (*hello)(char param1, char param2);
char (*another)();
甚至可以将这些2 different types
存入一般one
,例如void *?然后用铸造检索它们?
答案 0 :(得分:2)
您可以将函数指针强制转换为任何其他函数指针类型并返回。只需选择void (*)(void)
等目标类型即可。从C99标准:
指向一种类型的函数的指针可以转换为指向另一种类型的函数的指针,然后再返回;结果应该等于原始指针。