循环链表遇到编译错误
错误在图片中可以看到typedef struct CLinkList
{
int data;
struct ClinkList *next;
}node;
#include <iostream>
using namespace std;
void ds_init(node **pNode);
void ds_init(node **pNode)
{
int item;
node *temp;
node *target;
cout<<"请输入结点的值,输入0完成初始化"<<endl;
while(1)
{
cin>>item;
if(item == 0)
return;
if((*pNode) == NULL)
{
// 循环链表中只有一个结点
*pNode = (node*)malloc(sizeof(struct CLinkList));
if(!(*pNode))
exit(0);
(*pNode)->data = item;
(*pNode)->next = *pNode;
}
else
{
// 找到next指向第一个结点的结点
for(target = (*pNode); target->next != (*pNode); target = target->next)
;
// 生成一个新的结点
temp = (node*)malloc(sizeof(struct CLinkList));
if(!temp)
exit(0);
temp->data = item;
temp->next = *pNode;
target->next = temp;
}
}
}
这是怎么回事呢?不太明白 来人啊:ton: 我就是随意的看了看 ,我感觉应该是 就是CLinkList 和 node 类型不对, 虽然他们两个地意义相同,但是名字不相同,编译器区别不了他们是一个类型 所以报错,我感觉你要么用同一个名字,要么 在类型前面加类型强制转换 自己找找循环链表的代码来看看吧 —— 网上都有现成答案的~ 过来看看一起学习 一下啊:smile:smile:smile:smile:smile 学习学习
页:
[1]