Как мне избавиться от этой инициализации от несовместимого типа указателя предупреждение / ошибка? - PullRequest
1 голос
/ 18 сентября 2011

Я пытаюсь написать программу для связанного списка на C, однако продолжаю получать инициализацию из-за несовместимого типа указателя предупреждение / ошибка. Как мне избавиться от этого? И не могли бы вы объяснить, что не так? Далее следует упрощенная версия моей программы:

typedef struct node
{
int contents;
struct Node *nextNode;
} Node;

int main(void)
{
//.......Other code here......
  Node *rootNode = (Node *) malloc(sizeof(Node));
  rootNode->nextNode = NULL;
//.......Other code here......
  addNode(rootNode);
}      

addNode(Node *currentNode)
{
//.....Other code here....
  Node *nextNode = (currentNode->nextNode);   //Error on this line
// ....Other code here...
}

Спасибо

1 Ответ

5 голосов
/ 18 сентября 2011

Я думаю, вы хотите struct node * не struct Node * в вашем struct node:

typedef struct node
{
    int contents;
    struct node *nextNode; /* here */
} Node;

И не приводите возвращаемое значение из malloc, оно не нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...