搜尋

首頁  >  問答  >  主體

数据结构和算法 - 用C++写多项式相加算法,运行出现问题,求解

黄舟黄舟2805 天前639

全部回覆(1)我來回復

  • PHP中文网

    PHP中文网2017-04-17 13:02:30

    所以是遇到 SegmentFault 就來 SegmentFault 求助了麼…

    新手遇到 segfault 其實很正常,此時可以善於使用 GDB。使用 GDB 跑一下你的程式碼,使用 bt 指令列印一下呼叫堆疊:

    #0  0x0000000000400f5a in Term::insertTerm (this=0x0, c=1, e=2) at tmp.cpp:24
    #1  0x0000000000400db9 in addPlus (L=@0x7fffffffdf48: 0x603010, 
        M=@0x7fffffffdf50: 0x6030c0) at tmp.cpp:111
    #2  0x0000000000400aa6 in main () at tmp.cpp:42
    

    可以發現,addPlus 函數中初始的 N 是 NULL,而你直接呼叫 N 的方法,就出現了 this 為 NULL 的情況。 deference 一個空指標自然會導致 segfault。

    至於怎麼解決,你應該可以自己想明白。

    回覆
    0
  • 取消回覆