【发布时间】:2015-02-26 17:39:49
【问题描述】:
意志:
int foo();
int foo()
{
return foo();
}
永久循环,否则它将只运行该函数两次(一次隐式运行,一次终止一次)。
【问题讨论】:
-
@Rizier123 我不会问我是否尝试过。
-
@AlanSalios 程序停止了吗?
-
无论如何我都无法解释发生的事情。
-
@AlanSalios 运行它并在
foo()上放置一个断点,然后通过它进行调试。 -
好吧,“我不会问我是否尝试过”被否决,我并不感到惊讶。如果问题是“尽管我预期 X,但我尝试并得到了分段错误”,那么可能会有不同的看法(尽管这仍然不是一个好问题)。另一方面,我不确定这可能是 UB(在这种情况下尝试可能没用):IIRC,最新的 C++ 标准说“编译器可能假设一个没有副作用的线程终止”并且采用了 C11用于标准化线程的 C++ 内存模型,也许它们在这里是相似的......无论哪种方式,该函数都是无用的:)