今天在编译程序的时候,g++编译器返回一个这样的警告,检查代码后,发现原来是没有确认的返回值。
例如以下代码就可能出现这种警告:
int decToBin(int val){
if ( 0 == val)
{
return -1;
}
for (int i = 0; i < 16; ++i)
{
if(val & (1 << i))
{
return i;
}
}
}
其中函数返回值为int类型,但是执行此函数后可能不会执行里边的if条件语句,这就导致此函数可能没有返回值,解决的办法是在代码最后加上一句
return 0;