gpt4 book ai didi

c - 具有该结构输入类型的结构中的函数

转载 作者:太空宇宙 更新时间:2023-11-04 08:39:28 26 4
gpt4 key购买 nike

绕口令标题,但我真的可能只是想多了。

我有一个结构,其中有一个回调函数指针,它以该结构的类型作为输入参数。怎么办?

typedef struct my_type my_type;

void (*my_callback_f)(my_type *Type);

struct my_type
{
my_callback_f my_callback;
};

编译器显然不喜欢这样,但希望它能说明我所追求的。就像我说的,我可能只是想多了上下文指针。

编辑(实例化):

my_type *TheThing = { MyFunction };

在哪里

void MyFunction (my_type *Type)
{
//stuff
}

这会导致对象函数指针中的函数地址与 MyFunction 的已知地址不匹配。

最佳答案

最坏的情况,只需向前声明结构;

struct my_type; // this is the forward declaration
typedef void (*my_callback_f)(struct my_type *Type);

struct my_type
{
my_callback_f my_callback;
};

关于c - 具有该结构输入类型的结构中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24442604/

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