1. ホーム
  2. c++

[解決済み] 再帰的に呼び出される終了

2022-02-10 08:45:09

質問

知っている限りでは terminate() は、例外処理に問題がある場合に呼び出されます(通常はキャッチされないだけです)。 私が受け取ったのは、たった一行のエラーです。 terminate called recursively .

しばらくググっていると、多くの例が出てきました。

terminate called after throwing an instance of ... terminate called recursively

しかし、私の場合はそうではありません。例外の種類に関するヒントがないので、このような場合はどうなるのでしょうか。 terminate called recursively はそれ自体で意味を持ちます。

申し訳ありませんが、コードを提供することができないので、どんな推測でも役に立ちます。 Ubuntu 11.04でg++ 4.5.2でコンパイルしています。

どうもありがとうございました。 アレックス

解決方法は?

あるコードが、あなたがキャッチしていない例外をスローしている可能性があります。 terminate が呼び出されます。プログラムを終了させるということは、オブジェクトのデストラクタが呼ばれる可能性があり、その中で例外が発生した場合は terminate が再帰的に呼び出されます。