
Stefan Heinzmann wrote:
Hi all,
this very simple program here didn't compile with msvc-8.0 and boost 1.35:
// bugtest-boost-1.35-mpl.cpp
#include <boost/serialization/map.hpp>
int main(int argc, char* argv[]) { return 0; }
The compiler outputs those error lines:
d:\src\libs\boost\include\boost-1_35\boost\serialization\utility.hpp(48) : error C2039: 'and_' : is not a member of 'boost::mpl' d:\src\libs\boost\include\boost-1_35\boost\serialization\utility.hpp(50) : see reference to class template instantiation 'boost::serialization::is_bitwise_serializable<std::pair<_Ty1,_Ty2>>' being compiled d:\src\libs\boost\include\boost-1_35\boost\serialization\utility.hpp(48) : error C2504: 'and_' : base class undefined d:\src\libs\boost\include\boost-1_35\boost\serialization\utility.hpp(48) : error C2143: syntax error : missing ',' before '<'
Adding another include line before the existing one makes the compile succeed:
#include <boost/mpl/and.hpp>
Surely this must be a simple bug in the serialization library.
I can confirm that the same thing happens with msvc-9.0 also.