だから私は三分木を書いていて、おそらく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
何時間も立ち往生しています、何かアイデアはありますか?