코드를 컴파일하려고하는데이 오류가 계속 발생합니다. 초기화의잘못된 인수 유형
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' 멤버는 포인터가 아니므로'current-> p.block_num' 등이어야합니다 ... –