C++ 错误:没有用于交换调用的匹配函数
这只是我代码的一部分,用于快速排序。 它不断返回错误:“没有用于调用交换的匹配函数” 为什么以及如何修复它C++ 错误:没有用于交换调用的匹配函数,c++,C++,这只是我代码的一部分,用于快速排序。 它不断返回错误:“没有用于调用交换的匹配函数” 为什么以及如何修复它 using namespace std; void print_array(int array[], int low, int hi) { cout<< "quick sort partition steps: "; for (int j=low; j<=hi;j++) cout <<" "<<
using namespace std;
void print_array(int array[], int low, int hi)
{
cout<< "quick sort partition steps: ";
for (int j=low; j<=hi;j++)
cout <<" "<< array[j];
cout << endl;
}
//end of print_array
int partition (int arr[], int low, int hi)
{
int pivot = arr[hi];
int i = low;
for (int j = low; j<hi; j++)
{
if (arr[j] <= pivot)
{
swap(arr, i, j);
i++;
}
}
print_array(arr, low, hi);
swap(arr, i, hi);
return i;
}
使用名称空间std;
无效打印数组(整数数组[],整数低位,整数高位)
{
cout如果要使用std::swap
,请尝试以下操作:
swap(arr[i],arr[j]);
而不是swap(arr,i,j);
swap(arr[i],arr[hi]);
而不是swap(arr,i,hi);
查看一些有关std::swap
的文档是一个很好的开始。它甚至没有三个参数。您是否定义了自己的swap函数?如果是,您是否在第一次使用之前声明了它?正如目前所写的,这个问题无法回答