C 标准 prohibit 这个。但我不确定 C++ 标准对此有何评论。
#include <iostream>
void bar() {
std::cout << "From Bar" << "\n";
}
void foo() {
std::cout << "From Foo" << "\n";
return bar();
}
int main()
{
foo();
return 0;
}
程序编译并运行良好。我喜欢return bar();
的风格而不是bar(); return;
这在 C++11 中合法吗?
下面的答案提到它在最新草案中是合法的。
答案 0 :(得分:4)
是的,这在 C++ 中是允许的。标准说(引自最新草案):
<块引用>[stmt.return]
... 操作数为 void 类型的 return 语句只能用在返回类型为 cv void 的函数中。 ...