类型不一致,怎么回事
/*文件algo2-1.cpp*/#include<stdio.h>
#include<malloc.h>
#define Maxsize 10
typedef char ElemType;
/*定义*/
typedef struct
{
ElemType data[Maxsize];
int length;
}SqList;
/*初始化*/
void InitList(SqList *&L)
{
L=(SqList *)malloc(sizeof(SqList));
L->length=0;
}
/*销毁*/
void DestroyList(SqList *&L)
{
free(L);
}
/*判断空*/
bool ListEmpty(SqList *L)
{
return(L->length == 0);
}
/*插入数据*/
bool ListInsert(SqList *&L,int i,ElemType e)
{
int j;
if (i<1||i>L->length+1)
return false;
i--;
for (j=L->length;j>i;j--)
L->data[j] = L->data[j-1];
L->data[i] = e;
L->length++;
return true;
}
/*输出*/
void DispList(SqList *L)
{
int i;
for (i=0;i<L->length;i++)
printf("%s",L->data[i]);
printf("\n");
}
/*求长度*/
int ListLength(SqList *L)
{
return(L->length);
}
/*求元素*/
bool GetElem(SqList *L,int i,ElemType &e)
{
if(i<1 || i>L->length)
return false;
e=L->data[i-1];
return true;
}
/*查找元素*/
int LocateElem(SqList *L,ElemType e)
{
int i=0;
while(i<L->length && L->data[i]!=e)
i++;
if(i>=L->length)
return 0;
else
return i+1;
}
/*删除元素*/
bool ListDelete(SqList *&L,int i,ElemType &e)
{
int j;
if(i<1||i>L->length)
return false;
i--;
e=L->data[i];
for(j=i;j<L->length-1;j++)
L->data[j]=L->data[j+1];
L->length--;
return false;
}
#include"algo2-1.cpp"
#include<stdio.h>
#include<malloc.h>
#define Maxsize 10
typedef char ElemType;
typedef struct
{
ElemType data[Maxsize];
int length;
}SqList;
void main()
{
SqList *L;
ElemType e;
printf("初始化顺序表:\n");
InitList(L);
printf("尾插法一次插入abcd \n");
ListInsert(L,1,'a');
ListInsert(L,1,'b');
ListInsert(L,1,'c');
ListInsert(L,1,'d');
printf("输出顺序表 \n");
DispList(L);
printf("输出顺序表长度 \n");
ListLength(L);
printf("判断为空 \n");
ListEmpty(L);
printf("输出顺序表第三个元素 \n");
GetElem(L,3,e);
printf("输出元素a的位置 \n");
LocateElem(L,'a');
printf("第四个位子插入元素f \n");
ListInsert(L,4,'f');
printf("输出顺序表 \n");
DispList(L);
printf("删除第三个元素 \n");
ListDelete(L,3,e);
printf("输出顺序表 \n");
DispList(L);
printf("释放顺序表 \n");
DestroyList(L);
}
总是说基本的数据类型不一致,求看看是怎么回事