연결리스트로 구현한 큐 실행시 오류
글쓴이: tjddms5936 / 작성시간: 일, 2021/04/18 - 12:38오전
#include <stdio.h> #include <stdlib.h> typedef int element; // 요소의 타입은 int typedef struct ATM1{ // ATM1 큐의 노드의 타입 : int형 element가 2개(고객정보), link 한개 element number; element service_time; struct ATM1 *link; }ATM1; typedef struct{ ATM1 *front, *rear; //int count; }LinkedATM1; int is_empty1(LinkedATM1*q) { return 0; } // ATM1 삽입 함수 void enqueue1(LinkedATM1*q, element number, element service_time) { ATM1*temp = (ATM1*)malloc(sizeof(ATM1)); temp->number = number; temp->service_time = service_time; temp->link = NULL; if(is_empty1(&q)){ // 큐가 비어있다면 <----- 이부분에서 오류가 뜹니다. q->front = temp; q->rear = temp; } else{ // 큐가 공백이 아니라면 q->rear->link = temp; q->rear = temp; //LinkedATM1->count++; } } // ATM1 삭제 함수 element dequeue1(LinkedATM1*q) { ATM1*temp = q->front; element number; element service_time; if(is_empty1(&q)){ exit(1); } else{ number = temp->number; service_time = temp->service_time; q->front = q->front->link; if(q->front==NULL){ q->rear = NULL; } free(temp); // temp동적메모리 헤제 //LinkedATM1->count--; return number, service_time; // number, service_time 반환 } } int main(void) { LinkedATM1 q; enqueue1(&q, 0, 3); printf("%d", enqueue(&q)); return 0; }
위에 오류떳다는 부분에서 [Warning] passing argument 1 of 'is_empty1' from incompatible pointer type 라고 뜹니다. 해결방법이 없을까요?
참고로 풀고자 하는 문제는 사진첨부하겠습니다. 현재 ATM을 구현하기 위한 작업중입니다.
File attachments:
첨부 | 파일 크기 |
---|---|
![]() | 210.11 KB |
Forums:
int is_empty1(LinkedATM1*q)와
int is_empty1(LinkedATM1*q)와 void enqueue1(LinkedATM1*q, element number, element service_time)의 'q' 타입이 같아요.
그냥 is_empty1(q) 로 호출하시면 됩니다.
댓글 달기