0

だから私は三分木を書いていて、おそらく20回の挿入後にセグフォルトが発生します。GDB で問題を特定すると、今まで見たことのない非常に奇妙なエラーが発生します。

以下のコードのステートメントでは、より大きなノードは別のノードであり、そのノードは NULL (または別のノード) である必要がありますが、GDB にいてその値をチェックすると、*tempNode->0x4 を取得します。これにより、コードはより大きな値を設定しようとします ( 0x4) を現在のノードとして使用し、セグ フォールトを発生させます。

 if( ! tempNode->greater )


 else
 {
 tempNode = tempNode->greater;
 }

GDB の出力は次のとおりです。 (gdb) p *tempNode->greater Cannot access memory at address 0x4

何時間も立ち往生しています、何かアイデアはありますか?

4

0 に答える 0