首先,我是C++的新手。我试图编写一个函数,它执行“冒泡排序”按升序对整数数组进行排序。作为一项练习,我想按价值调用这个数组。 所以我改变了原来的函数声明从 int upsort(int arr[], int larr
到int const* arr[], int const larr
,但 没有我从const int*' to int
错误“无效的转换。 有一个简单的方法来解决这个问题?从int到const的转换int
int upsort(int const* arr[], int const larr)
{ int temp;
bool switched= false;
do
{ switched= false;
for (int i=0; i < larr-1; i++)
{
if(arr[i] > arr[i+1])
{
temp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = temp;
switched = true;
}
}
}
while (switched == true);
}
'int const * arr []'是*指针*的数组。我想你想'int const arr []'。 – 2015-02-10 19:50:09
解决这个问题的一个简单方法是将'int const * arr []'改回到'int arr []'。 – emlai 2015-02-10 19:53:20
备注 - 您的'切换的'变量根本没有被用来停止排序。 – PaulMcKenzie 2015-02-10 19:55:08