Yo tengo por algun lado una clase parecida pero ahora no la encuentro, de todas formas intenta poner lo siguiente a ver si soluciona el problema<br><pre>return this._nRows;<br><br><br></pre><br><br><div class="gmail_quote">
El 26 de diciembre de 2009 18:23, Rafael Enriquez Herrador <span dir="ltr"><<a href="mailto:rafenher07@gmail.com">rafenher07@gmail.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">






<div text="#000000" bgcolor="#ffffff">
Hola a tod@s,<br>
<br>
Esta es la primera vez que escribo a la lista, por lo tanto me gustaría
dar la enhorabuena a todos aquellos/as que intervienen en ella de
cualquier forma.<br>
<br>
Mi problema es el siguiente, tengo que hacer un ejercicio cuyo
enunciado es el siguiente:<br>
<br>
<small><i>Como ejercicio, debéis crear la clase Matrix. La clase matrix
será una plantilla. Tendrá los siguientes metodos:<br>
    a) <b>Constructor vacío</b>.<br>
    b) <b>Constructor de copia</b>.<br>
    c) <b>Constructor parametrizado</b>. Recibe dos enteros sin signo,
número de filas (nRows) y número de columnas (nCols).<br>
    d) <b>resize(unsigned int nRows, unsigned int nCols)</b>. Función
que cambia el tamaño de la matriz. Esta función recibe dos enteros sin
signo (nRows y nCols). Os aconsejo que no repitais el código y que el
constructor parametrizado llame a esta función.<br>
    e) <b>unsigned int getNRows()</b>. Indica el numero de filas.<br>
    f) <b>unsigned int getNCols()</b>. Indica el numero de columnas.<br>
    g) <b>Type & get(unsigned int r, unsigned int c)</b>. Función
de acceso que retorna el elemento (r,c) de la matriz. En este caso, no
podremos usar el operador []. Llamaremos a esta función. La función
comprobará si el elemento existe. En caso negativo aborta el programa.<br>
    h) <b>void setIdentity()</b>. Esta función hace que la matriz sea
la identidad, es decir, todo a cero excepto los elementos de la
diagonal principal que estarán a uno.<br>
    i) <b>Operador de asignación</b>.<br>
    j) <b>Operador de suma</b>. Realiza la suma de dos matrices y
retorna el resultado. La función se encargará de comprobar que es
posible realizar la operación. En caso de no ser posible se abortará el
programa.<br>
    k) <b>Destructor</b>.</i></small><br>
<br>
Adjunto se puede encontrar los dos archivos fuente: <i>matrix.h</i> y <i>main.cpp</i>
que he realizado como solución.<br>
<br>
El problema es que al compilar me da el siguiente error:<br>
<br>
<small><i>$ g++ -I. -g3 main.cpp -o matrix<br>
<br>
In file included from main.cpp:8:<br>
matrix.h: In copy constructor
‘storage::Matrix<Type>::Matrix(const
storage::Matrix<Type>&) [with Type = float]’:<br>
main.cpp:34:   instantiated from here<br>
matrix.h:89: error: pasar ‘const storage::Matrix<float>’ como el
argumento ‘this’ de ‘unsigned int
storage::Matrix<Type>::getNRows() [with Type = float]’ descarta a
los calificadores<br>
matrix.h:90: error: pasar ‘const storage::Matrix<float>’ como el
argumento ‘this’ de ‘unsigned int
storage::Matrix<Type>::getNCols() [with Type = float]’ descarta a
los calificadores<br>
matrix.h:98: error: pasar ‘const storage::Matrix<float>’ como el
argumento ‘this’ de ‘Type&
storage::Matrix<Type>::get(unsigned int, unsigned int) [with Type
= float]’ descarta a los calificadores<br>
matrix.h: In member function ‘storage::Matrix<Type>
storage::Matrix<Type>::operator+(const
storage::Matrix<Type>&) [with Type = float]’:<br>
main.cpp:40:   instantiated from here<br>
matrix.h:218: error: pasar ‘const storage::Matrix<float>’ como el
argumento ‘this’ de ‘unsigned int
storage::Matrix<Type>::getNCols() [with Type = float]’ descarta a
los calificadores<br>
matrix.h:218: error: pasar ‘const storage::Matrix<float>’ como el
argumento ‘this’ de ‘unsigned int
storage::Matrix<Type>::getNRows() [with Type = float]’ descarta a
los calificadores<br>
matrix.h:224: error: pasar ‘const storage::Matrix<float>’ como el
argumento ‘this’ de ‘Type&
storage::Matrix<Type>::get(unsigned int, unsigned int) [with Type
= float]’ descarta a los calificadores<br>
matrix.h: In member function ‘storage::Matrix<Type>&
storage::Matrix<Type>::operator=(const
storage::Matrix<Type>&) [with Type = float]’:<br>
main.cpp:40:   instantiated from here<br>
matrix.h:195: error: pasar ‘const storage::Matrix<float>’ como el
argumento ‘this’ de ‘unsigned int
storage::Matrix<Type>::getNRows() [with Type = float]’ descarta a
los calificadores<br>
matrix.h:196: error: pasar ‘const storage::Matrix<float>’ como el
argumento ‘this’ de ‘unsigned int
storage::Matrix<Type>::getNCols() [with Type = float]’ descarta a
los calificadores<br>
matrix.h:206: error: pasar ‘const storage::Matrix<float>’ como el
argumento ‘this’ de ‘Type&
storage::Matrix<Type>::get(unsigned int, unsigned int) [with Type
= float]’ descarta a los calificadores</i></small><big><br>
<br>
La verdad es que estoy totalmente bloqueado ya que soy nuevo en esto de
la programación de clases con plantillas en C++. Agradecería muchísimo
si alguien pudiese orientarme de dónde puede estar el fallo y a que
puede deberse.<br>
<br>
Un saludo y muchas gracias por adelantado. </big><br>
</div>

<br>_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br></blockquote></div><br>