貌似进入了死循环到底哪里出现了问题呢?
我猜想死循环是和.和.. 有关系的但是……
首先要问你的递归解决什么问题函数为什么需要强制退出? 是函数设计问题?或者更不不需要递归解决什么问题?
如果真要退出最好的办法还是exception。在你的recursion中如果有使用对象並在构造中申请内存,在析构中释放内存你只能抛出异常来做完美的退出了。下面代码演示怎么使用异常和递归解决什么问题但没有加入前面提到的对象概念。
setjump/longjump在C里面是可以的但是在C++这里存在缺陷。如果你的递归解决什么问题函数里面有分配内存那么setjump/longjump可能会跳过析構函数从而泄漏内存。