我的 Herb Schildt 关于 C++ 的书说:“...在 C++ 中,如果一个函数被声明为返回一个值,那么它must返回一个值。”但是,如果我编写一个具有非 void 返回类型的函数并且不返回任何内容,编译器会发出警告而不是错误:“控制到达非 void 函数的末尾。”
我使用 gcc (MinGW) 并设置了 -pedantic 标志。
§6.6.3/2:
从函数末尾流出相当于没有值的返回;这会导致返回值函数中出现未定义的行为。
所以这取决于你对强制性的定义。你have到?不。但是如果您希望您的程序具有明确定义的行为,那么可以。*
*main
is an exception, see §3.6.1/5. If control reaches the end of main
without a return
, it will have the effect of return 0;
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)