#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//typedef int element;
typedef struct {
int id; //현재시각
int service_time; //서비스 시간
int arrival_time; //도착시간
}element;
typedef struct QueueNode {
element data;
struct QueueNode* link;
}QueueNode;
typedef struct {
QueueNode* front, * rear;
}LinkedQueueType;
int ListLength(LinkedQueueType* q) {
int len = 0;
LinkedQueueType* current;
current= q;
while (current->front != NULL)
{
len++;
current->front = current->front->link;
}
return len;
}
void init_queue(LinkedQueueType* q) {
q->rear = NULL;
q->front = NULL;
}
int is_empty(LinkedQueueType* q) {
if (q->front == NULL&& q->rear==NULL)
return 1;
else
return 0;
}
void enqueue(LinkedQueueType* q, element data)
{
QueueNode* temp = (QueueNode*)malloc(sizeof(QueueNode));
temp->data = data;
temp->link = NULL;
if (is_empty(q)) {
q->front = temp;
q->rear = temp;
}
else {
q->rear->link = temp;
q->rear = temp;
}
}
element dequeue(LinkedQueueType* q) {
QueueNode* temp = q->front;
element data;
if (is_empty(q)) {
fprintf(stderr, "스택이 비어있음\n");
exit(1);
}
else {
data = temp->data;
q->front = q->front->link;
if (q->front == NULL)
q->rear = NULL;
free(temp);
return data;
}
}
void delete(QueueNode *q, QueueNode* pre) {
QueueNode* removed;
removed = pre->link;
pre->link = removed->link;
free(removed);
}
/*void print_list(LinkedQueueType*q) {
for (LinkedQueueType* p = q; p->front!= NULL; p->front = p->front->link)
{
printf("%d->", p->front->data);
}printf("NULL\n");
}
*/
void main() {
LinkedQueueType atm1; //첫번째 atm
LinkedQueueType atm2;
LinkedQueueType atm3;
init_queue(&atm1); // atm 리스트 초기화
init_queue(&atm2);
init_queue(&atm3);
enqueue(&atm1, 2);
//printf("%d",dequeue(&atm1));
printf("%d",ListLength(&atm1));
}
1>C:\Users\gjdms\source\repos\Project1\Project3\연결리스트큐.c(100,18):
error C2440: '함수': 'int'에서 'element'(으)로 변환할 수 없습니다.
여기서 이런 에러가발생하는데 이유를 못찾겠어요!