gpt4 book ai didi

c - 我怎样才能 typedef 一个函数指针,它接受一个自己类型的函数作为参数?

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

示例:一个函数接受一个函数(接受一个函数 (that ...) 和一个 int)和一个 int。

typedef void(*Func)(void (*)(void (*)(...), int), int);

它在 (...) 处递归展开。是否存在无法完成的根本原因或是否存在其他语法?在我看来,没有类型转换应该是可能的。我真的想传递一个调度表,但我可以弄清楚是否可以只传递这种类型。

最佳答案

您可以将函数指针包装在一个结构中:

struct fnptr_struct;
typedef void (*fnptr)(struct fnptr_struct *);
struct fnptr_struct {
fnptr fp;
};

我不确定这是否是对转换的改进。我怀疑没有结构是不可能的,因为 C 要求在使用类型之前定义类型,并且 typedef 没有不透明的语法。

关于c - 我怎样才能 typedef 一个函数指针,它接受一个自己类型的函数作为参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/816356/

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