對於具有非 void 返回型別的函式,沒有 return 語句
在具有非 void
的返回型別的函式中省略 return
語句是未定義的行為。
int function() {
// Missing return statement
}
int main() {
function(); //Undefined Behavior
}
大多數現代編譯器在編譯時會針對這種未定義的行為發出警告。
注意: main
是規則的唯一例外。如果 main
沒有 return
語句,編譯器會自動為你插入 return 0;
,因此可以安全地將其刪除。