我想編譯我的代碼,但我不斷收到此錯誤。無效的參數類型
error: invalid type argument of '->' (have 'struct packet')
零部件的初始化:
struct list *current;
struct packet p;
struct packet *newpacket = malloc(sizeof(p));
此行引起錯誤,但我不知道什麼是錯。
if ((current -> p -> block_num < newpacket -> block_num) && (current -> next -> p -> block_num > newpacket -> block_num)){
我的頭文件:
struct packet {
unsigned short block_num;
unsigned short block_size;
unsigned short crc;
unsigned char *payload;
};
struct list {
struct packet p;
struct list *next;
};
我不明白什麼是錯的,我真正的新C.任何幫助,將不勝感激。謝謝!
list'的'的構件'p'不是指針,所以它應該是'電流 - > p.block_num'等... –