Hi,
I just upgraded to Boost 1.33 and a set of my unit test routines written
against boost::test 1.32 have suddenly started reporting compile errors.
I can trigger the issue very simply:
---
#include
#include
using namespace boost::unit_test;
test_suite*
init_unit_test_suite( int argc, char* argv[] )
{
test_suite* test = BOOST_TEST_SUITE( "tests" );
}
---
In Boost 1.32 this works fine, in Boost 1.33 it reports:
---
c:\temp\boost_1_33_0\boost\test\impl\framework.ipp(305) : error C2440:
'initializing' : cannot convert from 'long' to 'boost::unit_test::for
_each::static_any_t'
Reason: cannot convert from 'long' to 'const
boost::unit_test::for_each::static_any_base'
No constructor could take the source type, or constructor
overload resolution was ambiguous
c:\temp\boost_1_33_0\boost\test\impl\framework.ipp(305) : error C2143:
syntax error : missing ')' before '='
c:\temp\boost_1_33_0\boost\test\impl\framework.ipp(305) : error C2143:
syntax error : missing ';' before '='
c:\temp\boost_1_33_0\boost\test\impl\framework.ipp(305) : error C2059:
syntax error : ')'
c:\temp\boost_1_33_0\boost\test\impl\framework.ipp(305) : error C2143:
syntax error : missing ';' before '{'
c:\temp\boost_1_33_0\boost\test\impl\framework.ipp(305) : error C2181:
illegal else without matching if
c:\temp\boost_1_33_0\boost\test\impl\framework.ipp(305) : error C2440:
'initializing' : cannot convert from 'long' to
'boost::unit_test::for_each::static_any_t'
Reason: cannot convert from 'long' to 'const
boost::unit_test::for_each::static_any_base'
No constructor could take the source type, or constructor
overload resolution was ambiguous
---
.. and so on (hits upper error limit).
I've just reverted back to 1.32 for now, but can you tell me why this
happens?
Many thanks
Steveboost::test 1.33 compile problem on VC7.0+STLport