gpt4 book ai didi

c - 函数声明中的参数名称(不带类型)(循环引用)

转载 作者:行者123 更新时间:2023-11-30 16:53:11 25 4
gpt4 key购买 nike

如何解决此警告?

typedef void (*VF_A)(PST_A);  // Warning here: parameter names (without types) in function declaration

typedef struct ST_A_ {
...
VF_A vf_a;
} ST_A, *PST_A;

最佳答案

这个问题类似于Resolve circular typedef dependency? ,但你的略有不同,因为你有一个指向函数而不是结构的指针。使用 this answer 中的策略.

问题背后的想法是,您试图声明一个新类型,同时定义一个结构。解决方案是将这两者分开:

typedef struct ST_A_ ST_A, *PST_A;  // PST_A points to some struct, defined later
typedef void (*VF_A)(PST_A); // use PST_A to define VF_A
struct ST_A_ { VF_A vf_a; }; // now define the struct PST_A points to

关于c - 函数声明中的参数名称(不带类型)(循环引用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40965923/

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