#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类型的函数时要覆盖所有分支。