I need to create an array in function and i can't declare its size in main, I'm starting my adventure with C++ I wrote this:
#include <iostream>
using namespace std;
int create(int * n);
void display(int * arr, int * n);
int main()
{
int * n = new int;
int * arr = create(n);
display(arr, n);
delete n;
delete[] arr;
return 0;
}
int create(int * n) {
cout << "How many elements? ";
cin >> *n;
int * arr = new int[*n];
int element;
for(int i = 0; i < *n; i++) {
cout << endl << "Enter " << i << " array element: ";
cin >> element;
arr[i] = element;
}
return arr;
}
void display(int * arr, int * n) {
for(int i = 0; i < *n; i++) {
cout << endl << i << " element: " << arr[i];
}
}
Compiler error: error: invalid conversion from 'int*' to 'int' [-fpermissive]
Help me please understand what am I doing wrong here. Thank you! :)