有返回值的函数没有通过 return 语句返回
C++-Undefined-Behavior-50
示例:
bool foo(int i) {
if (i >= 0) {
return true; // OK
}
} // Undefined behavior if i < 0
例中 foo 函数有返回值,当 i 的值小于 0 时没有通过 return 语句返回,导致未定义的行为。
依据
ISO/IEC 14882:2003 6.6.3(2)-undefined
ISO/IEC 14882:2011 6.6.3(2)-undefined