Это зависит от того, хотите ли вы передать vector
в качестве ссылки или указателя (я игнорирую возможность передачи его по значению как явно нежелательное).
Для справки:
int binarySearch(int first, int last, int search4, vector<int>& random);
vector<int> random(100);
// ...
found = binarySearch(first, last, search4, random);
В качестве указателя:
int binarySearch(int first, int last, int search4, vector<int>* random);
vector<int> random(100);
// ...
found = binarySearch(first, last, search4, &random);
Внутри binarySearch
вам нужно будет использовать .
или ->
для доступа к членам random
соответственно.
Проблемы с вашим текущим кодом
binarySearch
ожидает vector<int>*
, но вы передаете vector<int>
(пропуская &
до random
)
- Вы не разыменовываете указатель внутри
binarySearch
перед его использованием (например, random[mid]
должно быть (*random)[mid]
- Вы пропустили
using namespace std;
после <include>
s
- Значения, которые вы присваиваете
first
и last
, неверны (должны быть 0 и 99 вместо random[0]
и random[99]