gpt4 book ai didi

C:在传递给函数的函数中传递函数指针

转载 作者:太空狗 更新时间:2023-10-29 16:09:51 27 4
gpt4 key购买 nike

我正在尝试编写一个采用函数指针并将其传递给另一个函数的映射函数,但 gcc 对我大吼大叫。

这是我正在尝试做的事情的想法。

void map(T thing, void apply(int a, int b, void *cl), void *cl);

void function(T thing, void apply(int a, int b, void *cl), void * cl)
{

for(int i = 0; i < 10; i++)
{

map(thing, apply, cl);

}

}

gcc 的提示:

warning: passing argument 2 of 'map' from incompatible pointer type

有什么想法吗?

最佳答案

为了帮助解决这个问题,我们需要查看 map 函数的声明/签名。几乎可以肯定,函数签名略有不同。解决此问题的最简单方法是对函数指针类型进行类型定义并在两个函数中使用它。

typedef void (*apply)(int,int,void*);

关于C:在传递给函数的函数中传递函数指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1514555/

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