首先,我是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