Joaquín Mª López Muñoz wrote:
The information you're giving is very interesting! The fact that the problem does not appear when using tags seems to hint at a nasty complication with the joint use of boost::is_base_and_derived and pointers to members as used in boost::multi_index::member.
I've attached a simple test case. Would you mind compiling it with and without /vmg? If it fails with /vmg, would you mind removing the type1 and type2 parts and leaving only type2?
I suppose you mean, that I should remove type1 and type2 parts and leave only type3? If that is
correct, than these are the results of the test:
1) The test (foo.cpp) - as attached to the posting - compiles without any errors, if the /vmg option
is *deactivated*.
2) The test (foo.cpp) - as attached to the posting - fails to compile with an internal compiler
error, if the /vmg option is *activated*. As you expected, the internal compiler error occurs in the
file 'is_base_and_derived.hpp' at BOOST_STATIC_CONSTANT() within the following struct:
template