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