Hola eferion:
Interesante el uso de decltype. Ya me has tenido un rato
leyendo acerca del tema .Al final vas a conseguir que aprenda cosas del estandar C++11 en adelante!
Y si que es verdad que teniendo esas buenas prácticas bien interiorizadas, luego uno se facilita mucho la vida, realmente. Aún así he optado por la opción de "using" (no sabía que typedef ya estaba obsoleto).
Pero el caso es que el código que me has puesto no me compila. Me da dos errores.
1.-Al estar la función encargada de llenar el map dentro de la clase, al llamarla desde fuera me dice que:
Código C++:
Ver originalstd::map<Sexo,std::string> IconoWareHouse::_icons(initMap());//llamada a la función
error: cannot call member function ‘std::map<Sexo, std::basic_string<char> > IconoWareHouse::initMap()’ without object
Soslayo provisionalmente ese error sacando la función otra vez de la clase. Y ahora me da este error:
error: use of deleted function ‘IconoWareHouse::IconoWareHouse()’
Y ya puestos, si quito delete del constructor....
referencia a `IconoWareHouse::IconoWareHouse()' sin definir