
On Mon, Dec 15, 2008 at 1:09 PM, asio_user
Actually, there is no code to reproduce this. The errors occur within one of the projects which complies ok with boost 1.36.0. I am not yet sure how does boost.function get referenced through the headers or what might have changed in boost 1.37 compared to 1.36 headers
Dhruva Krishnamurthy-2 wrote:
Could you possibly send a small reproducer code. Since I have a setup of BOOST 1.37 with MSVC, MinGW and on GNU/Linux, I can test it.
-dhruva
2008/12/13 Amit Sonawane
: 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
' 28>c:\software\boost\boost_1_37_0\boost_1_37_0\boost\function\function_template.hpp(1098) : error C3412: 'boost::function
' : 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
' 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
' being compiled In Boost 1.36.0 the code complies ok. Is it boost function or my code.
Just for note. I am using WinXP with VS2k5SP1 and my projects have had not errors appear when I changed to 1.37. If you can make a copy of your solution and start deleting things until you get to what is causing the problem, that would help quite a bit.