怎么改错,求帮忙。。

 

请把源程序贴上来

C不支持引用。第16行的函数改一下,void union(SqList &La,SqList Lb) 改成void union(SqList *La,SqList Lb) ,跟La有关的地方改一下就可以了。

楼主的代码没贴全,问题在void union(SqList &La,SqList Lb),union与关键字重合,另注意表结构名为SqList ,S 和 L 都死大写字母。修改如下,供参考:

void Union(SqList &La,SqList Lb) // 算法2.1 //将所有在线性表Lb中但不在La中的数据元素插入到La中
{
      ElemType e;
      int La_len,Lb_len;
      int i;
      La_len=ListLength(La); //求线性表的长度
      Lb_len=ListLength(Lb);
      for(i=1;i<=Lb_len;i++) {
            GetElem(Lb,i,&e); //取Lb中第i个数据元素赋给e
            if(!LocateElem(*La,e,equal)) //La中不存在和e相同的元素,则插入之
                 ListInsert(La,++La_len,e);
      }
}