Итак, вот мой код. Это говорит мне, что раздел не объявлен, когда я вызываю его в kSmall ... Любые идеи?Функция не объявлена в этой области?
int kSmall(int A[], int k, int low, int high){
int pivot = A[(low+high)/2];
int idx = partition(A, pivot, low, high);
if(idx-low+1>k)
kSmall(A,k,low,idx-1);
else if(idx-low+1<k)
kSmall(A,k,idx+1,high);
else
return A[idx];
}
int partition(int A[], int p, int low, int high){
int temp;
int left = low;
int right = high;
while (left < right){
while (A[left]<p)
left++;
while (A[right]>p)
right--;
if (left<right){
temp = A[left];
A[left] = A[right];
A[right] = temp;
}
}
return left;
}
Точная ошибка: main.cpp: 36: 43: ошибка: 'partFunc' не был объявлен в этой области
@ user3434233 Если это помогает, пожалуйста, примите ответ – Steephen
, изучая C++, я также попытаюсь изменить метод, но если вы havemany метод, вы будете сумасшедшим.haha Я забыл этот термин, но я думаю, что вы можете определить все вашего метода до фактических блоков кода метода, чтобы вы не беспокоились, ваш метод вызова уже определен. @ user3434233 –
@ Nin-ya предыдущая декларация является обязательной, поэтому, если вы определяете функцию перед ее использованием, это объявление и определение – Steephen