数据结构和算法 - 用C++写多项式相加算法,运行出现问题,求解
黄舟
黄舟 2017-04-17 13:00:30
0
1
607
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

Antworte allen(1)
Ty80

所以是遇到 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。

至于怎么解决,你应该可以自己想明白。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage