
Joel de Guzman <joel <at> boost-consulting.com> writes:
Builds fine with me using both VC2010 and g++.
After I just include this: #include <boost/fusion/algorithm/transformation/push_back.hpp> I am getting this from express edition: 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(261): error C2146: syntax error : missing ',' before identifier 'push_back' 1> ...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(279) : see reference to class template instantiation 'boost::fusion::detail::make_segment_sequence_back<Stack,Size>' being compiled 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(261): error C2065: 'push_back' : undeclared identifier 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(262): error C2275: 'boost::fusion::detail::make_segment_sequence_back<Stack,Size>::rest_type' : illegal use of this type as an expression 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(262): error C2143: syntax error : missing ',' before 'const' 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(265): warning C4517: access-declarations are deprecated; member using-declarations provide a better alternative 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(265): warning C4346: 'boost::fusion::detail::segment_sequence<make_segment_sequence_back<Stack::cdr_ type>::type>::type' : dependent name is not a type 1> prefix with 'typename' to indicate a type 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(265): error C2143: syntax error : missing ';' before '>' 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(266): error C2238: unexpected token(s) preceding ';' 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(268): error C2146: syntax error : missing ';' before identifier 'call' 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(268): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(268): error C2086: 'segment_sequence<make_segment_sequence_back<Stack::cdr_type>::type>::type type' : redefinition 1> ...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(265) : see declaration of 'boost::fusion::detail::make_segment_sequence_back<Stack,Size>::operator type' 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(268): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(269): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(278): warning C4183: 'call': missing return type; assumed to be a member function returning 'int' 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(394): error C2146: syntax error : missing ',' before identifier 'push_back' 1> ...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(421) : see reference to class template instantiation 'boost::fusion::detail::make_segmented_range_reduce2<StackBegin,StackEnd,SameSe gment>' being compiled 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(394): error C2065: 'push_back' : undeclared identifier 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(399): warning C4346: 'Stack::size::value' : dependent name is not a type 1> prefix with 'typename' to indicate a type 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(399): error C2226: syntax error : unexpected type 'boost::fusion::result_of::push_front<const boost::fusion::iterator_range<result_of::next<StackBegin::car_type::begin_type> ::type,StackEnd::car_type::begin_type>,make_segment_sequence_front<StackBegin> ::type>::type' 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(401): warning C4517: access-declarations are deprecated; member using-declarations provide a better alternative 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(401): warning C4346: 'boost::fusion::detail::segment_sequence<make_segment_sequence_back<StackEnd>:: type>::type' : dependent name is not a type 1> prefix with 'typename' to indicate a type 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(401): error C2143: syntax error : missing ';' before '>' 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(402): error C2238: unexpected token(s) preceding ';' 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(404): error C2146: syntax error : missing ';' before identifier 'call' 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(404): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(404): error C2086: 'segment_sequence<make_segment_sequence_back<StackEnd>::type>::type type' : redefinition 1> ...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(401) : see declaration of 'boost::fusion::detail:: make_segmented_range_reduce2<StackBegin,StackEnd,SameSegment>::operator type' 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(404): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(405): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>...\boost\fusion\view\iterator_range\detail\segmented_iterator_range.hpp(420): warning C4183: 'call': missing return type; assumed to be a member function returning 'int' What about original question BTW? Do you have a suggestion? Gennadiy