函數可以返回其他函數,但是如何?我是用CC函數能否返回其他函數?
bool search(int value, int values[], int n)
{
// TODO: implement a searching algorithm
if(n<1)
{
return false;
}
else
binary_search(value,values,n);
}
和二進制搜索代碼執行二進制搜索是:
//binary search
bool binary_search(int value,int values[],int n)
{
int start = 0;
int end = n-1;
while(end>=start)
{
int mid = (start+end)/2;
if(values[mid]==value)
{
return true;
}
else if(values[mid]>value)
{
end = mid-1;
}
else
{
start = mid+1;
}
}
return false;
}
這不是編譯它說:「控制可能達到非void函數的末尾」。如果我打電話的函數返回然後bool的,爲什麼我應該之前
binary_search(value,values,n);
像
return binary_search(value,values,n);
如果您不輸入'return',那麼該函數將不會返回任何內容... – Lundin