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;                         
 }
In realtà hai un errore perchè ritorni un valore da una funzione che hai dichiarato void.
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