Tengo el siguiente codigo con el que intento devolver un objeto que he metido antes:
Código:
El problema es que *i->second ( que según he leido por ahi deberia devolverme el valor) me da el siguiente error: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;
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?