찾다

 >  Q&A  >  본문

c++ - 为什么编译可以通过,执行时候却自动停止程序呢?顺序表类功能实现

函数打算实现两个List合并为一个List,这个顺序表不是链表,就是普通的数组。

上次一个CombineList里面的函数确实出现了错误,谢谢大家的提醒。
还有小弟第一次提问,不太会排版。好多的描述都没有显示出来。现在重新编辑,
我想实现的是两个List顺序表的合并,其中第一幅图给出了合并的算法。里面的那个k是错误的。没啥用,第二次的循环里面把k改为i。
每次程序运行时候就会卡死这里,并出现后面的图,具体啥原因我也不知道。希望大家能来帮帮我。

PHP中文网PHP中文网2773일 전492

모든 응답(1)나는 대답할 것이다

  • 巴扎黑

    巴扎黑2017-04-17 14:43:51

    有很小的可能是溢出。你虽然改了mSize,但不意味着你的这个list就真的容量变大了。

    另外第一段代码的第二个循环里,我不明白为什么会出现k。
    这个k始终不变,所以哪怕程序不崩溃,我猜你的结果也是错的。

    然后还有一个很可能的原因,是浅拷贝深拷贝的问题。你的list里大概用了new,那么这个类就得自己去实现拷贝构造与赋值函数,不然可能会两次delete。

    最后吐槽一下,vs里调试,崩溃的时候是会显示在哪条语句里崩了,你好歹把这张截图放上来啊,代码也没贴全,别人想帮你debug都无从下手的。

    회신하다
    0
  • 취소회신하다