Hello Mark,
----- Mensaje original -----
De: Mark Schlegel
// this AGE_INDEX does not on gcc but DOES compile on MSVC8 typedef AgedMap<T>::AGEDMAPTYPE::index<agetag>::type AGE_INDEX;
The correct syntax is typedef typename AgedMap<T>::AGEDMAPTYPE::template index<agetag>::type AGE_INDEX; (note the intervening template keyword) which, just for succintness, in your particular ought to be the same, I think, as typedef typename MIContainer::template index<agetag>::type AGE_INDEX; The dependent template keyword can cause problems in non-conformant compilers. If you meet those, try the variants: typedef typename boost::multi_index::index< typename AgedMap<T>::AGEDMAPTYPE,agetag>::type AGE_INDEX; or typedef typename boost::multi_index::index< MIContainer,agetag>::type AGE_INDEX; Good luck, Joaquín M López Muñoz Telefónica, Investigación y Desarrollo