Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/09/2012, 14:01
ShotoReaper
 
Fecha de Ingreso: septiembre-2012
Mensajes: 38
Antigüedad: 11 años, 7 meses
Puntos: 0
¿Como devolver el contenido de un map a partir del key?

Buenas!
Tengo el siguiente codigo con el que intento devolver un objeto que he metido antes:

Código:
std::map<std::string, object> loadedObjects;
    testclass tst;  // testclass se extiende a object
    tst.name = "hector";
    loadedObjects.insert(std::pair<std::string, object>("gola",tst));
    std::map<std::string, object>::iterator i = loadedObjects.find("gola");
    if(i == loadedObjects.end())
        cout<<"no se ha encontado nada"<<endl;
    else
        cout<<*i->second<<endl;
El problema es que *i->second ( que según he leido por ahi deberia devolverme el valor) me da el siguiente error:

error: no match for 'operator*' in '*i.std::_Rb_tree_iterator<_Tp>::operator-> [with _Tp = std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, object>]()->std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, object>::second'

¿Alguna idea o correción?