Ошибка: элемент управления завершает не пустую функцию в C ++ для функции сортировки выбора

Для этого назначения я должен написать функцию выбора-сортировки в другом файле, которая сортирует массивы в порядке возрастания для использования в моем драйвере. Я уже искал этот вопрос для моей ошибки, и я все еще не нашел ничего, что я видел, может помочь мне. Может кто-нибудь помочь мне?

Вот что у меня так далеко.

#include <iostream>
using namespace std;void *selectionsort(int values[], int size){for(int i=0; i<size-1; i++){
for(int j=0; j<size; j++){
if(values[i] < values[j]){
int temp = values[i];
values[i] = values[j];
values[j] = temp;}

}

}
}

Вот мой водитель, если нужно.

#include <stdlib.h>
#include <iostream>
#include "selection.cpp"
using namespace std;

#define ArraySize 10 //size of the array
#define  Seed  1 //seed used to generate random number

int values[ArraySize];int main(){int i;

//seed random number generator
srand(Seed);

//Fill array with random intergers
for(i=0;i<ArraySize;i++)
values[i] = rand();

cout << "\n Array before sort" << endl;

for(i=0;i<ArraySize; i++)
cout << &values[]<< "\n";

//int* array_p = values;

cout << "\n Array after selection sort." << endl;

//Function call for selection sort in ascending order.
void *selectionsort(int values[], int size);

for (i=0;i<ArraySize; i++)
cout << &values[] << "\n";//system("pause");

}

0

Решение

Ваша функция не пуста, измените ее на

void selectionsort(int values[], int size){

Дополнительно: Ваша функция возвращает пустой указатель, если вы его так определили. И пустой указатель — это указатель, который может указывать на … что угодно.

И, конечно же, посмотрите ответ @ brokenfoot, чтобы узнать, как вызывать функцию.

2

Другие решения

  1. Поскольку вы определили свой main () как int main() означает, что возвращает int. ТАК, перед вашей конечной скобкой в ​​главном, добавьте return 0;
  2. так как вы не возвращаетесь из selectionsort() функция, сделать его недействительным:
    void selectionsort(int values[], int size)
  3. И когда вы вызываете эту функцию в main (), вызывайте ее следующим образом:
    selectionsort(values,size);
0

По вопросам рекламы [email protected]