C函数签名中的复杂参数

cvxl0en2  于 2023-03-29  发布在  其他
关注(0)|答案(1)|浏览(147)

我被告知要对我的函数进行签名:

int foo(void(*x) (void*, void*), void *arg1, void *arg2, void *stack)

第一个论点代表什么?如果有人能用一个具体的例子来解释,我将不胜感激。

ccgok5k5

ccgok5k51#

它是一个函数指针,名为x。它指向一个函数,该函数接受两个空指针作为参数并返回void
您可以使用typedef来更容易地理解这一点。

typedef void (*funcptr)(void*, void*);

int foo(funcptr x, void *arg1, void *arg2, void *stack) {
    // ...
}

相关问题