
I'm using boost 1.31 with vc7.1. I've found a weird compilation interaction between the boost.bind and boost.variant headers. This code will compile fine: #include "boost/variant.hpp" #include "boost/bind.hpp" But this code won't: #include "boost/bind.hpp" #include "boost/variant.hpp" Here are the errors that are reported: c:\Boost\include\boost-1_31\boost\mpl\less.hpp(39) : error C2760: syntax error : expected ',' not ';' c:\Boost\include\boost-1_31\boost\mpl\less.hpp(51) : see reference to class template instantiation 'boost::mpl::less<T1,T2>' being compiled c:\Boost\include\boost-1_31\boost\mpl\less.hpp(39) : error C2144: syntax error : 'const bool' should be preceded by '}' c:\Boost\include\boost-1_31\boost\mpl\less.hpp(39) : error C2062: type 'const bool' unexpected c:\Boost\include\boost-1_31\boost\mpl\less.hpp(39) : error C2238: unexpected token(s) preceding ';' c:\Boost\include\boost-1_31\boost\mpl\less.hpp(42) : error C2065: 'value' : undeclared identifier