Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/05/2008, 07:57
Avatar de _Lucifer_
_Lucifer_
 
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 17 años, 11 meses
Puntos: 28
Respuesta: Problema con Arreglo Dinamico

Si, definitivamente no puedes hacer eso...

Código:
class TMatriz {
          
          int i, j;
          float **matriz;
          ...
          ...
};
Así debería declararse una matriz dinámica. Si le colocas los corchetes estás diciendo que es un arreglo bidimensional estático, como sabrás a esa clase de arreglo no se le puede colocar una variable en los corchetes. Ahora, al ser propiedades de una clase tampoco puedes usarlas de ese modo.

El constructor debería ser algo así:
Código:
//Constructor de TMatriz.h
TMatriz::TMatriz (int numFilas=3, int numCols=3) {
          i= numFilas; j= numCols;
          *matriz= (float *) calloc ( i, sizeof(float));
          for(int k=0; k < i; ++k)
             matriz[k]= (float *) calloc ( j, sizeof(float));

}
O si los vas a almacenar en un arreglo unidimensional:
Código:
class TMatriz {
          
          int i, j;
          float *matriz;
          ...
          ...
};

//Constructor de TMatriz.h
TMatriz::TMatriz (int numFilas=3, int numCols=3) {
          i= numFilas; j= numCols;
          matriz= (float *) calloc ( i*j, sizeof(float));
}
Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba: