Я пытаюсь создать метод append_node для добавления узла в связанный список, который я создал. Моя структура узла определяется следующим образом:Использование структур в связанном списке
typedef struct Node{
struct Node next = NULL;
int id;
} Node;
Однако при компиляции описанным ниже методом, я получаю следующее сообщение об ошибке: «Node» имеет ни одного члена с именем «Идентификатор» «Node» не имеет ни одного члена с именем ' next '
void append_node(Node *sent,int val){
Node *other_node = (struct Node *)malloc(1*sizeof(struct Node));
other_node->id = val;
Node n = *sent;
while (n.next != NULL){
n = n.next;
}
n.next = other_node;
}
Зачем возникает эта ошибка?
EDIT:
Я также следующую ошибку
error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘=’ token
на первой строке определения узла
'struct' не может содержать экземпляр одного и того же типа, что и само по себе. – juanchopanza
Вы, вероятно, имели в виду: 'struct Node * next = NULL;' (т. Е. Отсутствует '*'). – isedev
временный 'n' должен быть указателем – sp2danny