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?