Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/08/2011, 16:01
Checho360
 
Fecha de Ingreso: marzo-2011
Mensajes: 94
Antigüedad: 13 años, 9 meses
Puntos: 3
Elementos const

Una pregunta. En una clase cualquiera tengo:
Código C++:
Ver original
  1. class x{
  2.             private:
  3.                         int *ptr;
  4.                         int tamanio;
  5. };

Si tengo una funcion publica:
Código C++:
Ver original
  1. int &devolvertamanio () const{
  2.      retur tamanio;
  3. } // Da error!! tiene que ser const int&devolvertamanio () const
Código C++:
Ver original
  1. int &operator[] ( const int &subindice ) const{
  2.      return ptr[subindice];
  3. }//No da error

porque el primero si da error y la segunda no? en realidad devuelvo un objeto int con un objeto const. es porque ptr[subindice] esta en una direccion de memoria que no pertenece al objeto que le estoy pasando?

Un saludo!