Массив ссылки не разрешен. Я знаю, что на C++ это незаконно. Но есть ли другой способ сделать это? Я уверен, что есть, но я не могу понять это.Функция сортировки пузырьков в C++
#include <iostream>
using namespace std;
#define UBound(n) sizeof(n)/sizeof(n[0]);
void SortArray(int & Arr[]) {
int ArrayLength;
ArrayLength = UBound(Arr);
int Min, Temp;
for (int i = 0; i = ArrayLength; i++) {
for (int j = 0; j = ArrayLength; j++) {
if (Arr[i+1] < Arr[i]){
Temp = Arr[i+1];
Arr[i+1] = Arr[i];
Arr[i] = Temp;
}
}
}
}
void main() {
int numArray[9] = { 9, 7, 6, 8, 4, 5, 3, 2, 1 };
SortArray(numArray);
}
Final Функция:
template < size_t I >
void SortArray(int(&Arr)[I]) {
int Min, Temp;
for (int i = 0; i < I - 1; i++) {
for (int j = 0; j < I - 1; j++) {
if (Arr[j+1] < Arr[j]){
Temp = Arr[j+1];
Arr[j+1] = Arr[j];
Arr[j] = Temp;
}
}
}
}
Спасибо всем за ваши ответы.
Почему вы не используете void SortArray (int * Arr)? – Osmani
Другой способ сделать * what *? В чем проблема, которую вы пытаетесь решить? Неясно, как массив ссылок связан с кодом, который вы показываете. – user2079303
'main' должен возвращать' int' в C++. – user2079303