Я не уверен, почему я получаю ошибку компилятора.Вот фрагмент моего кода
vector<int> weights(m, 0);
collect_weights(adjA, weights);
/******* Find the median of weights *********/
int k = m >> 1;//divide by 2
if(m % 2 == 0)
k--;
int median_weight = select(weights,0,m-1,k); //compiler error here
Вот мое объявление функции:
int select(vector<int> &v, int start, int fin, int k);
и вот моя ошибка компилятора:
cannot convert ‘std::vector<int>’ to ‘int’ for argument ‘1’ to ‘int select(int, fd_set*, fd_set*, fd_set*, timeval*)’
int median_weight = select(weights, 0, m,k);
Кажется, в моей ошибке компилятораэтот select ожидает 5 аргументов, первый из которых - int, однако, исходя из объявления моей функции, их должно быть только 4 (первый из них - вектор целых).Есть ли что-то, что я упустил случайно?
Кстати, это работает, когда я вызываю select здесь:
int find_median = select(v, 0, v.size()-1, mid);
, где v - вектор целых чисел, которые я передаю в функцию