Что произошло, вы ссылаетесь на объявленный форвард тип, который не существует, с именем struct client
:
//Client information structure for linked list
typedef struct _client {
// ...
struct client *next;
struct client *previous;
}client, *client_t;
Это немного сложно.Во время ваших деклараций next
и previous
у вас есть тип с именем struct _client
.Вскоре после этого у вас есть typedef
с именем client
.К сожалению, ни один из них struct client
Так как операции ссылаются только на указатель, но не отменяют ссылки на них, у вас не возникает никаких реальных ошибок, но когда вы ссылаетесь на next
, компилятор говорит: «Да, struct client
не является ни client
, ни struct _client
- будь осторожен! "