|
Boost Users : |
From: David Abrahams (dave_at_[hidden])
Date: 2004-11-24 22:17:35
gast128 <gast128_at_[hidden]> writes:
>>BOOST_MPL_ASSERT((boost::mpl::false_))
>
> This gives the same error on VC++ 7.1:
> "error C2143: syntax error : missing '}' before '('"
>
> I see in 'boost/mpl/assert.hpp' heavy use of the pp library, maybe it has to
> do with this. I do not get seriuos pp samples running on VC++ 7.1.
No, it must be something else. Works perfectly for me, and I assure
you that all of MPL was thoroughly tested on VC 7.1:
Program:
#include "boost/mpl/assert.hpp"
void Testmpl6()
{
BOOST_MPL_ASSERT((boost::mpl::false_));
}
Command:
CALL "C:\Program Files\Microsoft Visual Studio .NET \
2003\VC7\bin\VCVARS32.BAT" > nul
cl /Zm800 -nologo /EHsc -c /Z7 /Od /Ob0 /EHsc /GR /MDd /Op
/Zc:wchar_t,forScope -I"c:\boost" -Fo"c:\tmp\foo.obj"
-Tp"c:\tmp\foo.cpp"
Output:
foo.cpp(6) : error C2664: 'boost::mpl::assertion_failed' : cannot
convert parameter 1 from 'boost::mpl::failed
************boost::mpl::bool_<C_>::* ***********
' to 'boost::mpl::assert<false>::type'
with
[
C_=false
]
A reference that is not to 'const' cannot be bound to a
non-lvalue
foo.cpp(6) : fatal error C1903: unable to recover from previous
error(s); stopping compilation
And of course, if I replace "false_" with "true_", compilation
succeeds. Can you reporoduce these results with the same program and
command-lines?
-- Dave Abrahams Boost Consulting http://www.boost-consulting.com
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net