搜尋

首頁  >  問答  >  主體

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

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

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

PHP中文网PHP中文网2773 天前490

全部回覆(1)我來回復

  • 巴扎黑

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

    有很小的可能是溢出。雖然你改了mSize,但不代表你的這個list真的容量變大了。

    另外第一段程式碼的第二個循環裡,我不明白為什麼會出現k。
    這個k始終不變,所以就算程式不崩潰,我猜你的結果也是錯的。

    然後還有一個很可能的原因,是淺拷貝深拷貝的問題。你的list大概用了new,那麼這個類別就得自己去實作拷貝構造與賦值函數,不然可能會兩次delete。

    最後吐槽一下,vs裡調試,崩潰的時候是會顯示在哪條語句裡崩了,你好歹把這張截圖放上來啊,代碼也沒貼全,別人想幫你debug都無從下手的。

    回覆
    0
  • 取消回覆