ошибка: нет соответствующей функции для вызова `qsort (int [((unsigned int) ((int) n))]) ' - PullRequest
0 голосов
/ 19 мая 2019

На моей IDE есть два предупреждения:

[Предупреждение] C: \ PROGRA ~ 2 \ C-FREE ~ 1 \ mingw \ include \ stdlib.h: 367: примечание: кандидаты:

void qsort(void*, size_t, size_t, int (*)(const void*,const void*))

и

[Предупреждение] D: \ saltpass_c \ 未 命名 7.cpp: 20: примечание:

std::allocator<int> >&)

Мой код:

int par(vector<int>&arr, int low, int high)
{
    int pivot = arr[low];
    while(low < high)
    {
        while(low < high && arr[high] >= pivot)high--;
        arr[low] = arr[high];
        while(low < high && arr[low] <= pivot)low++;
        arr[high] = arr[low];
    }
    arr[low] = pivot;
    return low;
}
int qsort(vector<int>&arr)
{
     int mystack[2000];
     int top = -1;
     mystack[++top] = 0;
     mystack[++top] = arr.size() - 1;
     while(top > 0)
     {
         int high = mystack[top--], low = mystack[top--];
         int middle = par(arr, low, high);
         if(middle+1 < high)
         {
             mystack[++top] = middle+1;
             mystack[++top] = high;
         }
         if(low < middle-1)
         {
             mystack[++top] = low;
             mystack[++top] = middle-1;
         }
     }
 }

Почему появляются эти предупреждения и как от них избавиться?

...