
Hi, I am using the Boost MultiIndex container in conjunction with the Microsoft Visual C++ 7.1 compiler. I encountered an runtime exception during some tests of my application. I made the mistake, that I tried to construct an index as a separate object instead of using a reference to the respective index. The MultiIndex documentation highlights this issue: "Note that get returns a reference to the index, and not an index object. Indices cannot be constructed as separate objects from the container they belong to, so the following // Wrong: we forgot the & after employee_set::nth_index<1>::type const employee_set::nth_index<1>::type name_index=es.get<1>(); does not compile, since it is trying to construct the index object name_index. This is a common source of errors in user code." I could reproduce the exception by using the MultiIndex example basic.cpp from the Boost 1.32.0 release. Unfortunately, Microsoft Visual C++ 7.1 compiles the above mentioned line without an error or warning. During the execution of the example an exception will be thrown while processing the following line: std::copy(i.begin(),i.end(),std::ostream_iterator<value_type>(std::cout)); within the function template print_out_by(). Regards, Jochen.