c++ - Conflict between boost:type_erasure and boost::iterator_facade -


consider simple program:

#include <boost/type_erasure/is_placeholder.hpp> #include <boost/iterator/iterator_adaptor.hpp>  int main() {     return 0; } 

this fails compile with:

  include/boost/type_erasure/is_placeholder.hpp:31:33: error: reference 'use_default' ambiguous     struct is_placeholder< ::boost::use_default> : ::boost::mpl::false_ {};                                     ^     include/boost/iterator/iterator_adaptor.hpp:44:18: note: candidate found name lookup 'boost::use_default'     using iterators::use_default;                      ^     include/boost/type_erasure/is_placeholder.hpp:21:8: note: candidate found name lookup 'boost::use_default'     struct use_default;            ^     1 error generated. 

i don't want go , change header files. how around issue?

a temporary solution replace

struct use_default; 

in `boost/type_erasure/is_placeholder.hpp' with

namespace iterators {     struct use_default; } using iterators::use_default; 

which found in `boost/iterator/iterator_adaptor.hpp'.


Comments

Popular posts from this blog

c++ - Difference between pre and post decrement in recursive function argument -

php - Nothing but 'run(); ' when browsing to my local project, how do I fix this? -

php - How can I echo out this array? -