I'm in the process of updating some applications from use of Boost
1.28.0 to 1.29.0, using MSVC7. I've noticed that a number of static
assertions that used to compile now generate errors. The assertions all
use is_integral to perform a type validation - e.g.:
BOOST_STATIC_ASSERT(::boost::is_integral::value);
This produces an error of the form:
c:\Perforce\Development\Web\cppinclude\domestic\Application
Framework\State Machine Engine\StringSerializer.h(145) : error C2027:
use of undefined type 'boost::STATIC_ASSERTION_FAILURE<x>'
with
[
x=false
]
c:\Perforce\Development\Web\cppinclude\domestic\Application
Framework\State Machine Engine\StringSerializer.h(143) : see reference
to class template instantiation
'sme::StringSerializer<_StringType,>::StringWriter<<template
parameter>>' being compiled
c:\Perforce\Development\Web\cppinclude\domestic\Application
Framework\State Machine Engine\StringSerializer.h(169) : see reference
to class template instantiation 'sme::StringSerializer<_StringType,>'
being compiled
I believe that the data type is integral, and is complete at compile
time. Any known reason why this would happen?
Randy Bowen