gpt4 book ai didi

c - 包含函数指针的结构,其自身作为 C 中的返回类型

转载 作者:太空狗 更新时间:2023-10-29 14:59:14 30 4
gpt4 key购买 nike

得到以下数据结构:

typedef struct
{
lamp *lamp;
unsigned char a;
unsigned char b;
unsigned char c;
unsigned char d;
unsigned char e;
void (*func)(struct event *);
} event;

结构中的最后一行应该是一个指向函数的指针,该函数的返回类型为 void,并带有指向事件的指针作为参数,例如:

void function(event *evt);

虽然,我收到以下警告消息:“它的范围只是这个定义或声明,这可能不是您想要的”。这是对还是错?

最佳答案

你的结构需要这样定义:

typedef struct event  // <<< note the `event` tag here
{
lamp *lamp;
unsigned char a;
unsigned char b;
unsigned char c;
unsigned char d;
unsigned char e;
void (*func)(struct event *);
} event; // <<< you can still keep `event` as a typedef
// which is equivalent to `struct event`

关于c - 包含函数指针的结构,其自身作为 C 中的返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15475488/

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