就我把数据结构(C语言)里面的顺序表合并的代码加到我的学生管理系统里,结果就报错

就我把数据结构(C语言)里面的顺序表合并的代码加到我的学生管理系统里,结果就报错

问题描述:

//我用的VS2019 void MergeList_Sq(SqList LA,SqList LB,SqList &LC){ int length; student *pa,*pb,*pc,*pa_last,*pb_last; LC.length = LA.length+LB.length; LC.elem=new student[LC.length]; pc=LC.elem; pa=LA.elem; pb=LB.elem; pa_last=LA.elem+LA.length-1; pa_last=LB.elem+LB.length-1; while((pa<=pa_last)&&(pb<=pb_last)){ if(*pa<=*pb) *pc++=*pa++; /*就这个*pa<=*pb,它报错说无法从“student*”转换为“int*”*/ else *pc++=*pb++; } while(pa<=pa_last) *pc++=*pa++; while(pa<=pb_last) *pc++=*pb++; }

 if(*pa<=*pb)还有(pa<=pa_last)&&(pb<=pb_last),pa、pb、pa_last、pb_last这些都是指针,你比较指针有什么意义?这里你想干什么,还有,你student里有没有重载<=符号,没有重载的话肯定会出错

elem这个元素你怎么定义的。pc是student*,如果按照报错的信息来看,elem是一个int*类型的,你把int*的值给pc,肯定会出错的。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632