鱼C论坛

 找回密码
 立即注册
查看: 4461|回复: 5

[已解决]循环链表遇到编译错误

[复制链接]
发表于 2015-9-13 23:41:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
错误在图片中可以看到

  1. typedef struct CLinkList
  2. {
  3.         int data;
  4.         struct ClinkList *next;
  5. }node;

  6. #include <iostream>
  7. using namespace std;

  8. void ds_init(node **pNode);

  9. void ds_init(node **pNode)
  10. {
  11.         int item;
  12.         node *temp;
  13.         node *target;

  14.         cout<<"请输入结点的值,输入0完成初始化"<<endl;

  15.         while(1)
  16.         {
  17.                 cin>>item;

  18.                 if(item == 0)
  19.                         return;

  20.                 if((*pNode) == NULL)
  21.                 {
  22.                         // 循环链表中只有一个结点
  23.                         *pNode = (node*)malloc(sizeof(struct CLinkList));

  24.                         if(!(*pNode))
  25.                                 exit(0);

  26.                         (*pNode)->data = item;
  27.                         (*pNode)->next = *pNode;
  28.                 }
  29.                 else
  30.                 {
  31.                         // 找到next指向第一个结点的结点
  32.                         for(target = (*pNode); target->next != (*pNode); target = target->next)
  33.                                 ;

  34.                         // 生成一个新的结点
  35.                         temp = (node*)malloc(sizeof(struct CLinkList));

  36.                         if(!temp)
  37.                                 exit(0);

  38.                         temp->data = item;
  39.                         temp->next = *pNode;
  40.                         target->next = temp;
  41.                 }
  42.         }
  43. }
复制代码


这是怎么回事呢?不太明白
最佳答案
2015-10-15 08:48:30
我就是随意的看了看 ,我感觉应该是 就是CLinkList 和 node 类型不对, 虽然他们两个地意义相同,但是名字不相同,编译器区别不了他们是一个类型 所以报错,我感觉你要么用同一个名字,要么 在类型前面加类型强制转换
QQ截图20150913234200.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-10-15 03:38:24 | 显示全部楼层
来人啊:ton:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-10-15 08:48:30 | 显示全部楼层    本楼为最佳答案   
我就是随意的看了看 ,我感觉应该是 就是CLinkList 和 node 类型不对, 虽然他们两个地意义相同,但是名字不相同,编译器区别不了他们是一个类型 所以报错,我感觉你要么用同一个名字,要么 在类型前面加类型强制转换
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-10-16 10:24:48 | 显示全部楼层
自己找找循环链表的代码来看看吧 —— 网上都有现成答案的~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-11-30 11:08:54 | 显示全部楼层
过来看看  一起学习 一下啊:smile:smile:smile:smile:smile
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-5 16:32:25 From FishC Mobile | 显示全部楼层
学习学习
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-19 04:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表