为什么加粗斜体处会报错呢?报错原因是不能将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;
    }
}

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