In realtà hai un errore perchè ritorni un valore da una funzione che hai dichiarato void.codice:#include <iostream> using namespace std; void passarray(int x); int main() { int x = 3; passarray(3); system("PAUSE"); return 0; } void passarray(int x){ int array[3]; int i; for (i=0; i<3; i++){ array[i]= x; cout << array[i] << endl; } return &array; }
Però non puoi ritornare "array" perchè è un array allocato sullo stack quindi l'area di memoria puntata da array verrà deallocata al return dalla funzione.
Per ritornare un puntatore dalla funzione lo devi allocare dinamicamente oppure gli passi un puntatore creato nel main.
Comunque visto la domanda, ti consiglio di leggerti qualcosa sui puntatori