[英]Problem with Pointers
我是Linux c编程的新手,我有一个简单的程序仅用于学习,当我对其进行编译时,它给我错误“将指针指向不完整类型”这是我的代码
struct Node
{
struct Node* left;
struct Node* middle;
struct Node* right;
int nodeData;
int nodeLevel;
char isVisted;
};
struct ListNode
{
struct Node* data;
struct ListNode* next;
};
struct List
{
struct NodeList* head;
struct NodeList* tail;
int count;
};
typedef struct ListNode ListNode;
typedef struct Node Node;
typedef struct List List;
ListNode* InitListNode(Node* data)
{
ListNode* listNode=(ListNode*)calloc(1,sizeof(ListNode));
listNode->data=data;
listNode->next=NULL;
return listNode;
}
List* InitList()
{
List* list=(List*)calloc(1,sizeof(List));
list->count=0;
list->head=list->tail=NULL;
}
void EnQue(Node* data,List* que)
{
if(que->count==0)
{
que->tail=que->head=InitListNode(data);
que->count++;
}
else
{
que->tail->next=InitListNode(data); //here error is problem comes
que->tail=que->tail->next;//here error is problem comes
que->count++;
}
}
请帮忙..
struct List中的head和tail的类型为NodeList。 应该是ListNode吗?
看起来List
的定义中有错字。 我相信应该是ListNode
,而不是未定义的NodeList
。 尝试以下
struct List
{
struct ListNode* head;
struct ListNode* tail;
int count;
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.