0

所以我正在写一个三叉树,我可能会在 20 次插入后出现段错误。当我在 GDB 中隔离问题时,我得到了一个以前从未见过的非常奇怪的错误。

在下面的代码语句中,更大的是另一个节点,该节点应该为 NULL(或另一个节点)但是当我在 GDB 中并检查它的值时,我得到 *tempNode->0x4 这会导致我的代码尝试设置更大( 0x4) 作为当前节点并导致段故障。

 if( ! tempNode->greater )


 else
 {
 tempNode = tempNode->greater;
 }

这是 GDB 输出: (gdb) p *tempNode->greater 无法访问地址 0x4 处的内存

被困了几个小时,有什么想法吗?

4

0 回答 0