|
안녕하세요
^^ 오랜만에 글올립니다
요즘 알고리즘공부한다고.. 이거 방학때 빨랑끝내고 다시 빌더로 돌아와야할텐데...
알고리즘을공부하는데 함수포인터에서 막혀버렸습니다.
일단 선언은
typedef struct List_ {
int size;
int (*match)(const void *key1, const void *key2);
void (*destroy)(void *data);
ListElmt *head;
ListElmt *tail;
} List;
이렇게 되어있는데 두번째와 세번째 함수포인터에서 문제가났습니다.
그쓰는부분은
void list_init(List *list, void (*destroy)(void *data)) {
list->size = 0;
list->destroy = destroy;
list->head = NULL;
list->tail = NULL;
return;
}
여기인데.. 제가 알기론
list->destroy 의 값이 destroy 로되어있는데 그럼
void destroy(void *data){
}
라는 함수가있어야하는데 아무리 뒤져봐도 없더군요
비슷한 함수가 있다면
void list_destroy(List *list) {
}
이런함수가있구요
list_init 를 쓸땐
list_init(&list, free); 이렇게 쓰는데
제가 list_init(&list, free); 여기에 중지점을 걸어놓고 F8(step over) 컴파일을 눌렀는데
헤더파일에 있는 list_init()함수로 넘어가지질 않더군요
원래 list_init()함수로 넘어가서 하나하나씩 컴파일 해야되지 않나요?
^^
여튼 제질문이 두서없게 길었는데...(제가 문장력이딸려서)
이게 왜이렇게 되는지 아시는분꼭 답변 부탁드릴께요
진도가 못나가고 있습니다. ㅠㅠ
그럼 좋은하루 되시구요!!!
|