关于在gcc环境下的函数返回值问题
int n2(Bitree bt)
{
if(bt==NULL)
{
return 0;
}
if((bt->lchild==NULL)&&(bt->rchild==NULL))
{
return 0;
}
if((bt->lchild!=NULL)&&(bt->rchild==NULL))
{
return n2(bt->lchild);
}
if((bt->lchild==NULL)&&(bt->rchild!=NULL))
{
return n2(bt->rchild);
}
if((bt->lchild!=NULL)&&(bt->rchild!=NULL))
{
return n2(bt->lchild)+n2(bt->rchild)+1;
}
}
提示warning: 'return' with no value, in function returning non-void,也就是最后一行有问题,提示没返回值吗? 我的这个函数中不是有多个返回值吗? 怎么还会提示没有返回值? 而且我在VC下就没有提示warning。 这个要怎么解决。 GCC 函数 返回值
[解决办法]
在最后一个大括号前, 加一个 return 0; 就好了。
[解决办法]
return -1;//最后指定个返回表示有未处理的情况