据我所知,当异常处理出现问题时,通常会调用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将被“递归”调用。

关于c++ - 递归终止,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12347981/

10-11 16:29