Persi111 2023-05-23 16:56 采纳率: 85.7%
浏览 16
已结题

为什么加粗斜体处会报错呢?报错原因是不能将Lnode*的值分配到LinkList的值中


#include <iostream>
#include<string>
#define OK 1
typedef int Status;

using namespace std;

typedef struct {
    char num[8];
    char name[8];
    int score;
}ElemType;
typedef struct //结点类型定义
{
    ElemType data;
    struct Lnode* next;//定义一个指向与自己相同类型的指针
}Lnode,*LinkList;//LinkList为指向结构体Lnode的指针类型


Status DestroyList_L(LinkList L)//单链表的销毁
{
    Lnode* p;
    while (L) {
        p = L;
        **L = L->next;__**
        delete p;
    }
}
  • 写回答

1条回答 默认 最新

  • 於黾 2023-05-23 17:15
    关注

    struct Lnode* next
    这里类型错误
    直接写LinkList next,让上下类型一致
    不要一会写struct一会不写,把自己都整迷惑了
    -=-=-=
    如果你写的是
    struct Lnode{...}
    那么struct Lnode合起来是个类型,直接写Lnode会报错
    而如果是
    typedef struct{...}Lnode
    那么Lnode已经是struct的别名,就不要再带上struct了
    -=-=-=
    还有
    LinkList的类型其实是*LinkList,它就等同于Lnode*
    所以你上下代码用到指针就直接写LinkList,不要一会LinkList一会Lnode*

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 5月31日
  • 已采纳回答 5月23日
  • 创建了问题 5月23日

悬赏问题

  • ¥15 delphi开发的WEBSERVER改用HTTPS协议
  • ¥15 pic16f877A单片机的计数器proteus仿真失效
  • ¥100 调查 Vitis AI 中验证 .xmodel 量化后的正确性
  • ¥30 codelite全屏时file、setting那一行消失了
  • ¥15 gazebo-rviz教程
  • ¥15 付费求做一个自助抢单插件
  • ¥15 bat批处理,关于数据复制问题
  • ¥50 同步两个不同结果的array中某些属性
  • ¥15 悬赏15远程操控解决问题
  • ¥15 CST复制的模型无法单独修改参数?