gpt4 book ai didi

控制到达非 void 函数的末尾

转载 作者:行者123 更新时间:2023-11-30 21:36:48 25 4
gpt4 key购买 nike

bool binary(int value,int values[],int start,int end)
{

//Binary search
if(start>end)
return false;

int mid=(start+end)/2;

if(value==values[mid])
return true;
else
{
if(value>values[mid])
binary(value,values,mid+1,end);

else
binary(value,values,start,mid-1);
}
}

我一次又一次地遇到同样的错误。尝试了很多更改

最佳答案

您收到此错误是因为函数 binary 被定义为返回 bool 值,但并非所有控制路径实际上都包含 return 语句(请注意,一旦输入了 else 路径,代码将不会到达任何 return 语句)。在不过多解释代码的情况下,最有可能解决此问题的方法如下:

bool binary(int value,int values[],int start,int end)
{
//Binary search
if(start>end)
return false;

int mid=(start+end)/2;

if(value==values[mid])
return true;
else
{
if(value>values[mid])
return binary(value,values,mid+1,end);

else
return binary(value,values,start,mid-1);
}
}

关于控制到达非 void 函数的末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44454863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com