Ver Mensaje Individual
  #13 (permalink)  
Antiguo 05/01/2007, 11:23
Avatar de _Lucifer_
_Lucifer_
 
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 18 años, 7 meses
Puntos: 28
Re: Error en declaración de funcion

Código:
double a[3][3],b[3][3];
copiar(a,b,3);
Claro como dijo MaxExtreme:
Cita:
Instru, no es lo mismo [][] que **. Pese a que entre [] y * no halla poca diferencia, entre los de más de una dimensión sí.
Asi que no te lo acepta el momento de invocar la fucion.

Cita:
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];
Que te hizo pensar que no funcionaria, el codigo esta perfecto, pro imagino que la idea es hacerlo mas general, ¿no?

Algo asi:
Código:
double **a;
a = new double *[n];
for(int i=0;i<n;i++)
     a[i] = new double[n];
// lo mismo para b
copiar(a,b,n);
Porque si solo vas a usar matrices de 3x3 entonces no tienes por que usar punteros. Aunque imagino qu el aprendizaje que te quedo de esto es mas valioso.

Acuerdate de liberar la memoria que reservaste con el operador new

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba: