Facil:
Si tenemos esta funcion:
void copiar(double **a, double **b, int n)
si intento llamarla de la siguiente manera:
double a[3][3],b[3][3];
copiar(a,b,3);
no anda ni para atras ni para delante.
Pero lo pude solucionar haciendo lo siguiente
Código:
double **a;
a = new double *[3];
for(int i=0;i<3;i++)
a[i] = new double[3];
// lo mismo para b
copiar(a,b,3);
no pense que eso fuese a funcionar, pero funciono perfectamente. De hecho, los punteros dobles a double (double **a), despues de esa delcaracion se pueden usar como arrays multidimensionales normales, es decir, estas expresiones son validas:
a[2][1] = 9;
double num = a[1][2];