#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*