자료구조 연결리스트 큐 작성중 error C2440: '함수': 'int'에서 'element'(으)로 변환할 수 없습니다.

조회수 603회
#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'(으)로 변환할 수 없습니다.

여기서 이런 에러가발생하는데 이유를 못찾겠어요!

  • enqueue 함수 두번째 파라미터는 element 구조체 형식을 받는데 숫자 2를 넣으면 안댐 김호원 2021.4.22 17:44

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)