#include <stdio.h>
bool f()
{
}
int main()
{
if(f())
printf("default return true!\n");
else
printf("default return false!\n");
}
代碼如上:
結果是什麼?
在vs2008下,會是
default return true!
在gcc下,(gcc version 4.3.4 20090804 (release) 1 (GCC))
會是
default return false!
不同編譯器傳回的不同。
個人粗心犯了這個錯誤,當然我們寫這種傳回bool類型的函數時要覆寫所有分支。