Я знаю, что другие люди отправили ту же ошибку, но я не могу найти ничего похожего на мое. Я попытался реализовать некоторые из решений, но не могу понять, почему он не работает.Почему предупреждение: назначение из несовместимого типа указателя?
struct list_elem {
int value;
struct list *prev;
struct list *next;
};
struct list{
struct list_elem *header;
struct list_elem *footer;
};
struct list_elem *list_elem_malloc(void) {
struct list_elem *elem;
elem = malloc(sizeof(struct list_elem));
return elem;
}
void list_init(struct list *list) {
list->header = list_elem_malloc();
list->footer = list_elem_malloc();
list->header->prev = NULL;
list->footer->next = NULL;
list->header->next = list->footer; //ERROR on this line
list->footer->prev = list->header; //same ERROR on this line
}
Почему ошибка?
Я сделал опечатку в struct list_elem, prev и next должен быть list_elems, а не списки !!!! Дурак я.
Indeeed, я typo'd! .. спасибо, конечно, не видел этого :) – cxzp