- ベストアンサー
C++でアボート(Abort)で処理が強制終了してしまう
はじめまして。詳しい方がいたらご教授頂きたいのですが。 C++で書いたコードをビルドしてLinuxでの実行したところ Abortが発生して困っています。 マルチスレッドを使用するようなコードで、あるインスタンス消滅時にアボートが発生して終了します・・・。 (1)アボートってなぜ出るのでしょうか? (2)以下のエラーが出ますが、原因は何か分かりません。 ------------------------------------- pure virtual method called terminate called without an active exception Aborted ------------------------------------- 環境は、 SUSE Linux v10.0 g++ (GCC) 4.0.2 20050901 GNU Make 3.80 です。 どなたか詳しい方、ご協力お願い致します!!
お礼
ご親切に回答ありがとうございます。 > サンプルをコンパイル・リンクして実行したら、同じようなメッセージが > 出ますし(笑)goopon さんもエラーの出た実際のコードで、純粋仮想関 > 数が呼び出されるようなことはないか、一度、コードを読んで確認される > のがいいかと思いますよ^^ アドバイスをもとにコード見直しました。 確かに純粋仮想関数はあるものの、特に基底クラスで呼び出すようなまずいコーディングはしていません。 ですが試しに純粋仮想関数をなくしてみた(空実装させた)ところ、Abortは発生しなくなりました。 明確な理由は分からないままですが、とりあえず解決させることができそうです。 ありがとうございました。