• Sábado 14 de Diciembre de 2024, 11:52

Autor Tema:  Sobrecargar Operador []  (Leído 803 veces)

darek

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Sobrecargar Operador []
« en: Miércoles 11 de Julio de 2007, 21:37 »
0
Hola a tod@s,

estoy intentando construir el TAD Map implementado con dos listas dinamicas y necesitaria sobrecargar el operador [].
En internet solo he encontrado sobrecarga de operadores binarios como +, -, etc.

Si podeis echarle un vistazo a lo que he hecho y darme alguna sugerencia o pista os lo agredeceria mucho.

template <class Clave, class Valor>
Valor& Map<Clave, Valor>::operator[](Clave c) {

   int indice = clave.buscar©; // Busco en la lista de claves
        //Consulto en la lista de valores el valor para esa clave
   return valor.consultar(indice);

}

// Me declaro un map
Map<char, int> m;

Pero no puedo hacer operaciones del tipo:

m['a'] = 30;
cout<<m['a']

que es de lo que se trata.
El error que me devuelve el Visual C++(6.0) es:
error C2440: 'return' : cannot convert from 'int' to 'int &'



Gracias