Я пытаюсь использовать указатель для массива для сортировки сортировки.Использование указателя для выбора сортировки
void sort(int size, int *ptr)
{
int temp;
bool swap;
do
{
swap = false;
for (int count = 0; count < (size - 1); count++)
{
if (*ptr[count] > *ptr[count + 1])
{
temp = *ptr[count];
*ptr[count] = *ptr[count + 1];
*ptr[count + 1] = temp;
swap = true;
}
}
} while (swap);
}
im получение большого количества ошибок, говорящих о незаконном направлении, потому что при использовании * он должен быть указателем. Я использую его в других методах, отлично, только тот, у которого есть проблемы. Это вызов im используется.
sort(arraySize, numArray);
все объявлено и работает другими методами.
, какие строки вы видите сообщения об ошибках? также он, вероятно, должен быть 'ptr [count]', а не '* ptr [count]'. ptr - это указатель, а не массив указателей. –
, что исправил его спасибо! – BucketsOstuff
Итак, измените '* ptr [count]' на просто 'ptr [count]'. Вам не нужно разыгрывать указатель, если вы используете индекс массива. Указатели могут быть разыменованы с помощью оператора * или с индексом массива в большинстве случаев. –