Environment:

WinXP SP2/Visual Studio Team System 2005/Boost 1.37.0 32-bit

 

Using boost.function in Boost 1.37.0 generates several errors. Compiler extract :

 

28>c:\software\boost\boost_1_37_0\boost_1_37_0\boost\function\function_template.hpp(80) : error C2143: syntax error : missing ';' before 'namespace'

28>c:\software\boost\boost_1_37_0\boost_1_37_0\boost\function\function_template.hpp(980) : error C2838: '()' : illegal qualified name in member declaration

28>        c:\software\boost\boost_1_37_0\boost_1_37_0\boost\function\function_template.hpp(80) : see reference to class template instantiation 'boost::function0<R>' being compiled

28>c:\software\boost\boost_1_37_0\boost_1_37_0\boost\function\function_template.hpp(995) : error C2804: binary 'operator ==' has too many parameters

28>c:\software\boost\boost_1_37_0\boost_1_37_0\boost\function\function_template.hpp(1002) : error C2804: binary 'operator !=' has too many parameters

28>c:\software\boost\boost_1_37_0\boost_1_37_0\boost\function\function_template.hpp(1098) : error C2764: 'R' : template parameter not used or deducible in partial specialization 'boost::function<R(void)>'

28>c:\software\boost\boost_1_37_0\boost_1_37_0\boost\function\function_template.hpp(1098) : error C3412: 'boost::function<R(void)>' : cannot specialize template in current scope

28>c:\software\boost\boost_1_37_0\boost_1_37_0\boost\function\function_template.hpp(90) : error C2061: syntax error : identifier 'function_buffer'

28>        c:\software\boost\boost_1_37_0\boost_1_37_0\boost\function\function_template.hpp(96) : see reference to class template instantiation 'boost::boost::detail::function::function_invoker1<FunctionPtr,R,T0>' being compiled

28>c:\software\boost\boost_1_37_0\boost_1_37_0\boost\function\function_template.hpp(106) : error C2061: syntax error : identifier 'function_buffer'

28>        c:\software\boost\boost_1_37_0\boost_1_37_0\boost\function\function_template.hpp(113) : see reference to class template instantiation 'boost::boost::detail::function::void_function_invoker1<FunctionPtr,R,T0>' being compiled

 

In Boost 1.36.0 the code complies ok.  Is it boost function or my code.