C++ 11所有控制路径是否仍然需要返回值?

Dav*_*ter 4 c++ visual-c++ c++11

这似乎是一个荒谬的问题,但今天我用C++编写了一个成员函数,该函数应该返回并返回int但并非总是如此.我甚至写了一个非常简单的函数,它没有返回值......

int derp()
{
    if (11 == 22) return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是最近的变化吗?我的编译器坏了吗?大声笑

编辑:这确实编译顺便说一句

Dav*_*eas 7

在非void函数中,所有控制路径都必须返回.这里的关键问题是编译器不需要诊断它.请注意,编译正确不一定相同.所有正确的代码都会编译,但并非所有编译的代码都是正确的.