为什么会报错?
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef struct{
int *elem;
int length;
int ListSize;
}SqList;
void InitSqList(SqList &L){
L.elem=(int *)malloc(100*sizeof(int));
L.length=0;
L.ListSize=100;
}
void CreateSqList(SqList &L){
int n,e;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&e);
L.elem[i]=e;
L.length++;
}
}
void GetElem(SqList L,int i;int &e){
e=L.elem(i);
}
void MergList(SqList La,SqList Lb,SqList &Lc){
int i,j,ai,bj;
i=0;j=0;
while(i<La.length&&j<Lb.length){
GetElem(La,i,ai);
GetElem(Lb,j,bj);
if(ai<bj){
Lc.elem[Lc.length]=ai;i++;length++;
}else{
Lc.elem[Lc.length]=bj;j++;length++;
}
}
while(i<La.length){
GetElem(La,i,ai);Lc.elem[Lc.length]=ai;i++;Lc.length++;
}
while(j<Lb.length){
GetElem(Lb,j,bj);Lc.elem[Lc.length]=bj;j++;Lc.length++;
}
}
void print(SqList L){
for(int i=0;i<L.length;i++)
printf("%d",L.elem[i]);
printf("\n");
}
void main()
{
int i,j;
InitSqList(La);
InitSqList(Lb);
InitSqList(Lc);
CreateList(La);
print(La);
CreateList(Lb);
print(Lb);
MergList(La,Lb,Lc);
print(Lc);
}