代碼:
int fun(int a, int b) {
if (a == b) return a;
// 無 else 分支,無返回語句
}
int main() {
int x=20, y=10, z=fun(x,y);
cout << z; // 輸出 20 (巧合)
}
EAX 寄存器。int fun(int a, int b) {
if (a == b) return a;
return 0; // 或 -1, 或拋出異常,明確語義
}
開啟編譯器警告 -Wreturn-type (GCC/Clang) / /Wall (MSVC) 可在編譯期捕獲。