
----- Mensaje original ----- De: Felipe Magno de Almeida <felipe.m.almeida@gmail.com> Fecha: Martes, Marzo 7, 2006 6:34 pm Asunto: Re: [boost][multi_index] boost/boost/multi_index/detail/index_base.hpp:49:error
On 3/6/06, Joaquín Mª López Muñoz <joaquin@tid.es> wrote:
[snip]
typedef std::pair<iterator, iterator> iterator_pair;
Here. What is this "iterator" type? What index.equal_range(name) returns is a
typedef headers_multi_index_t::nth_index<1>::type::iterator iterator;
[...]
Looks like that's not the problem
Yep, looks like this is OK, and, as you say, the thing works on other compilers. The following is a shot in the dark. Can replace your typedef headers_multi_index_t::nth_index<1>::type::iterator iterator; with something like typedef headers_multi_index_t::nth_index<1>::type::iterator my_iterator; // note, name changed adjust the dependent typedefs and try to compile? Older versions of GCC have sometimes clashing symbol problems with symbols that ought not to clash. Additionally, I'd check the using decls and directives in effect. If this does not shed any light, it'd be extremely helpful if you can isolate the problem into a complete testcase you can post or send to me. I've tried myself to reproduce the issue following your general code outline, but didn't get the compiler to choke as you have reported. Joaquín M López Muñoz Telefónica, Investigación y Desarrollo