注册 登录
编程论坛 C++教室

大侠们帮忙看一下什么错误

jiefen111 发布于 2008-04-16 16:56, 857 次点击
template <class Type> SqList<Type>& SqList<Type>::MergeList(SqList<Type> &La)
{
   int lena=La.Length();
   int len=Length();
   SqList <Type> Lc(lena+len+1),&Lb=Lc;
   Type a,b;
   int i=0,j=0;
   int k=-1;
   while(i<len && j<lena){
       a=Get(i);
       b=La.Get(j);
       if(a<b){
           Lb.Insert(a,++k);
           i++;
       }
       else if(a>b) {
           Lb.Insert(b,++k);
           j++;
       }else{
           Lb.Insert(a,++k);
           i++;
           j++;
       }
   }
   while(i<len){
          a=Get(i);
          Lb.Insert(a,++k);
          i++;
   }
   while(j<lena){
          b=La.Get(j);
          Lb.Insert(b,++k);
          j++;
   }
   return Lc;
}是不是引用那边错了
3 回复
#2
中学者2008-04-16 17:02
语法似乎没错,但是你返回局部对象的引用就不好
#3
herolzx2008-04-17 08:42
返回局部变量是很不安全的,会出现逻辑错误。

 return Lc;
#4
jiefen1112008-04-19 14:05
以解决,谢谢大家
1