Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 错误:没有用于交换调用的匹配函数_C++ - Fatal编程技术网

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函数?如果是,您是否在第一次使用之前声明了它?正如目前所写的,这个问题无法回答