2017-04-01 1 views
0

テーブルに存在しないレコードに対してremoveを呼び出した後、プログラムがクラッシュします...論理値にNULL値が渡されていると仮定していますどこかのステップ。存在しないレコードで呼び出しを削除すると、プログラムがクラッシュする

+0

[小さなプログラムのデバッグ方法](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)を読んで、デバッガの使い方をご覧ください。デバッガは、プログラマツールボックスの中で不可欠なツールであり、使用方法を知っていることは、趣味のプログラマにとっても不可欠なスキルです。 –

+0

適度に最近のコンパイラを使用している場合は、 '='を書くときに警告するはずですが、 '=='を意味する可能性が最も高いです。そうでない場合は、アップグレードしたり、警告を有効にする方法をドキュメントで確認してください。 – molbdnilo

答えて

0

クラッシュが予想されます。 findでnullptrをチェックしません。これを簡単に確認することができます:ハッシュテーブルを作成した後にfindを実行します。

+0

nullptrチェックが本当に問題でした。私は私の質問を更新しました。テーブル内にあるべきではないレコードに対して今remove()を呼び出した後、それもクラッシュします。 – user7795742

+0

これは2番目の質問です。新しい質問をする必要があります。さらに、ソースコードを削除した後、人々があなたの質問にどのように答えてくれると思いますか? – steve

関連する問題