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