gpt4 book ai didi

C 函数指针回调作为具有 "self"引用参数的结构成员

转载 作者:太空宇宙 更新时间:2023-11-04 02:42:45 25 4
gpt4 key购买 nike

<分区>


我想创建一个任务结构,其中包含一个指向回调的函数指针以执行所述任务。该任务包含参数,因此我想将结构的“this/self”指针传递给回调执行程序函数。这会产生循环依赖,我一直在努力尝试各种前向声明等,但似乎无法做到正确。我是不是遗漏了什么使这不可能的事情,或者只是我的 C 语法魔法非常薄弱。将 task* 更改为 void* 似乎是作弊?

在任务.h 中:

// create a function pointer type signature for executing a task
typedef int (*executor) (task* self);

// create a task type
typedef struct {
executor exec; // the callback to execute the task
... // various data for the task
} task;

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