
Joaquín Mª López Muñoz wrote:
The following simple snippet ICEs in MSVC 6.5:
#include <boost/mpl/vector_c.hpp> #include <boost/mpl/assert.hpp>
template<int N> struct foo:boost::mpl::vector_c<int,N> { };
Yet, this version (where assert.hpp is included first) compiles fine:
#include <boost/mpl/assert.hpp> #include <boost/mpl/vector_c.hpp>
template<int N> struct foo:boost::mpl::vector_c<int,N> { };
I might know what this is, but I haven't got access to Visual C++ at the moment, so I'm not sure. Anyway, try this: #include <boost/mpl/vector_c.hpp> #include <boost/mpl/assert.hpp> class dummy { void func(); }; template<int N> struct foo:boost::mpl::vector_c<int,N> { }; Here's a simple example of code which triggers this bug: namespace y1 { struct y2 {}; } struct x1 { void x2(y1::y2); }; // This line prevents the Internal Compiler Error: // class dummy { void func(); }; template <int N> struct z {}; Daniel