Tôi đang cố gắng gửi một vectơ dưới dạng đối số cho một hàm và tôi không thể tìm ra cách làm cho nó hoạt động. Đã thử rất nhiều cách khác nhau nhưng chúng đều đưa ra các thông báo lỗi khác nhau. Tôi chỉ bao gồm một phần của mã, vì chỉ có phần này không hoạt động. (vectơ "ngẫu nhiên" được lấp đầy bằng các giá trị ngẫu nhiên, nhưng được sắp xếp, từ 0 đến 200)
Đã cập nhật mã:
#include <iostream>
#include <ctime>
#include <algorithm>
#include <vector>
using namespace std;
int binarySearch(int first, int last, int search4, vector<int>& random);
int main()
{
vector<int> random(100);
int search4, found;
int first = 0;
int last = 99;
found = binarySearch(first, last, search4, random);
system("pause");
return(0);
}
int binarySearch(int first, int last, int search4, vector<int>& random)
{
do
{
int mid = (first + last) / 2;
if (search4 > random[mid])
first = mid + 1;
else if (search4 < random[mid])
last = mid - 1;
else
return mid;
} while (first <= last);
return -(first + 1);
}