Originariamente inviato da oregon
Prima di tutto, cosa c'entra il titolo "Funzione di funzione" ?

Per il resto, la funzione non restituisce nulla (è void), quindi non ha senso usarla come hai fatto nel main ... L'array P è locale alla funzione .... per restituirlo dovresti allocarlo dinamicamente e restituirne il puntatore al chiamante.

Inoltre, il parametro da passare è il puntatore all'array Array (usa dei nomi migliori altrimenti non fai altro che aumentare la confusione), che altro non è che il suo nome (non *Array).
il funzione di funzione sta per richiamare una funzione da una funzione.

invece ho trovato questo esempio dove il void restituisce un valore:
codice:
// passing parameters by reference
#include <iostream>
using namespace std;
void duplicate (int& a, int& b, int& c)
{
a*=2;
b*=2;
c*=2;
}
int main ()
{
int x=1, y=3, z=7;
duplicate (x, y, z);
cout << "x=" << x << ", y=" << y << ", z=" << z;
return 0;
}