gpt4 book ai didi

c - 一个接受 void func(void) 和 void func(void* param) 的函数

转载 作者:太空宇宙 更新时间:2023-11-04 06:24:54 27 4
gpt4 key购买 nike

我在 GNU 编译器集合中使用 C。所以我需要将函数指针传递给一个函数。现在有两种我想要处理的可接受的函数指针原型(prototype):

void function(void);

void function(void* param);

现在我有以下内容:

int createProcess(void (*procFunc)(void*), void* param);

这仅适用于第二个原型(prototype)。有没有办法让它适用于两个示例原型(prototype)?

最佳答案

您可以使用具有未指定数量参数的函数指针:

int createProcess(void (*procFunc)(), void* param);

但是你还需要区分这两种功能。添加第三个参数或(如果您的函数尚未使用它)使用 param 的空指针值作为区分这两种函数的标志。

请注意,声明具有未指定数量参数的函数是过时的 C 功能,因此您可以考虑声明两个不同的 createProcess 函数。

关于c - 一个接受 void func(void) 和 void func(void* param) 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28399867/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com