如果我不包含return语句,为什么返回数值如C {+ 1}}或int
的C ++函数可以正常工作?
即使程序运行良好,我应该避免这种情况吗?
感谢
答案 0 :(得分:3)
它可以“正常工作”有两个原因:
main()
,在这种情况下,没有return语句的结尾会导致未定义的行为 1 ,它恰好似乎发生了工作正常。但事实并非如此。main()
,具有隐式return 0;
。对于案例1,您应该认为您的代码严重损坏并修复它。
C ++ 11标准中1 §6.3.3[stmt.return]