我在这里读到了阅读了如何:
在 C++ 中:
- 不从非 void 函数返回是未定义的行为。
... analysis requires inspection of the entire program, which is incompatible with separate compilation, and which is not even possible in the general case ...
从我在该页面上的几个答案中得出的结论,很难,有时甚至不可能检查函数中是否存在 return 语句。C++ 标准未定义非 void 函数返回的行为。
但是,我听说在Java中,同样的事情在编译时被报告为错误。
Q. 我的理解正确吗?Java 又是如何做到这一点的呢?
编辑:为了清楚起见,我有兴趣了解:
如果在 C++ 标准中未定义 Compiler 相关的实现困难,Java 是如何实现的。
如果这不难做到,C++ 标准不应该将其定义为错误吗?