
--- Peter Dimov <pdimov@mmltd.net> wrote: [...]
enum { msvc71_wknd_ = ( BOOST_MPL_AUX_VALUE_WKND(T1)::value < BOOST_MPL_AUX_VALUE_WKND(T2)::value ) };
when the compiler has already seen a template class named "value" (it tries to keep track of class templates in order to not require typename).
You can work around the problem by replacing the above with
enum { msvc71_wknd_ = ( BOOST_MPL_AUX_VALUE_WKND(T2)::value > BOOST_MPL_AUX_VALUE_WKND(T1)::value ) };
Another workaround is to replace it with enum { msvc71_wknd_ = BOOST_MPL_AUX_VALUE_WKND(T1)::value < BOOST_MPL_AUX_VALUE_WKND(T2)::value }; Somehow the parenthesis make the difference... weird. I submitted a bug report last night. Eugene __________________________________ Do you Yahoo!? Yahoo! Finance: Get your refund fast by filing online. http://taxes.yahoo.com/filing.html