Ho una funzione che mi dovrà ritornare un puntatore ad un array dinamico multidimensionale con una dimensione non specificata in partenza, ma che andrò a determinare in runtime. La funzione è così scritta:

codice:

double *MyArray()
{

  #define  m 4
  #define  n 3

  int  l;

  // Qui faccio qualcosa che mi detewrmina il valore di "l". 

  double  (*Arr)[m][n];
  Arr = new double   [l][m][n];

  // Qui assegno tutti gli elementi all'array 

  return  Arr;
}
Il problema è che io non so come va scritto il tipo di ritorno di un puntatore come quello che ho appena dichiarato, infatti l'errore è questo:

codice:
 : error C2440: 'return' : cannot convert from 'double (*)[4][3]' to 'double *'
Qualche suggerimento?

Ringrazio in anticipo