【发布时间】:2018-06-18 04:13:53
【问题描述】:
我非常努力地找出我的错误在哪里!这是我的功能:
#include <iostream>
#include <algorithm>
using namespace std;
bool lessThan(int a , int b) { return (a<b); }
int rank(int a[] , int n , int value , int lo , int hi) {
if(lo > hi) return -1;
int mid = (lo + hi) / 2;
if(value < a[mid]) return rank(a , n , value , lo , mid - 1);
else if(value > a[mid]) return rank(a , n , value , mid + 1 , hi);
else return mid;
}
int rank(int a[] , int n , int value) {
sort(a , a + n , lessThan);
return rank(a , n , value , 0 , n - 1);
}
这是一个检查数组是否包含值的函数。我以为我以错误的方式将数组传递给 rank() 所以我尝试了这个:
void test(int a[] , int n) {
for(int i = 0 ; i < n ; ++i) cout << a[i];
}
但它奏效了,让我很困惑。请告诉我我的错误在哪里。
【问题讨论】:
-
请显示完整的未经编辑的错误消息,包括相关的行号。
标签: c++11 compiler-errors