gpt4 book ai didi

c - 取消引用指向我的自定义列表中不完整类型的指针

转载 作者:太空宇宙 更新时间:2023-11-04 07:11:32 24 4
gpt4 key购买 nike

我正在编写一个包含一些操作的自定义列表,但我遇到了“指向不完整类型错误的引用指针”的问题这是结构定义:

typedef struct TIME_NODE {
int timeout;
int seq_number;
struct time_node* next;
} time_node;

typedef struct TIMEOUT_LIST {
struct time_node* head;
} timeout_list;

这是其中一个功能

void insert(timeout_list *l, int sequence_number, int timeout)
{
int c=0;
struct time_node* temp;
temp = l->head;
if(temp==NULL)
{
add(sequence_number, timeout);
}
else
{
while(temp!=NULL)
{
if(temp->timeout < timeout) {
c++;
}
temp = temp->next;
}
if(c==0)
add(sequence_number, timeout);
else if(c<count())
add_after(sequence_number, timeout, ++c);
else
append(sequence_number, timeout);
}
}

为什么我不能尊重温度?

最佳答案

这是错误的

struct time_node* temp;

应该是

struct TIME_NODE* temp;

但是既然你已经typedef编辑了它,那么这就足够了

time_node* temp;

你也应该在 struct TIMEOUT_LIST 中修复它。

如果你想让这两种语法都起作用,那么你必须像这样为结构和 typedef 使用相同的名称

typedef struct time_node {
int timeout;
int seq_number;
struct time_node* next;
} time_node;

你甚至可以这样做

typedef struct time_node time_node;
struct time_node {
int timeout;
int seq_number;
time_node* next;
};

关于c - 取消引用指向我的自定义列表中不完整类型的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28071283/

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