$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Peter Dimov (pdimov_at_[hidden])
Date: 2001-04-30 06:45:19
From: "Daryle Walker" <darylew_at_[hidden]>
> John Maddock mentioned that the problems with the Boost.CRC code has with
MS
> VC++ may be from that compiler not handling value-based template arguments
> in function templates correctly. He suggested using a static member
> function in a class template instead. We should have warnings about that
in
> config.hpp. How about:
>
> BOOST_NO_VALUE_BASED_ARGUMENT_IN_FUNCTION_TEMPLATE
The problem is not related to the argument being non-type. Note that in:
template < std::size_t Bits >
typename boost::uint_t<Bits>::fast
reflect( typename boost::uint_t<Bits>::fast x );
'Bits' is not mentioned anywhere in the function argument list
(boost::uint_t<Bits>::fast is a typedef for a built-in type.)
This is a known limitation of the MSVC linker (fixed in 7.0b1) and also
affects Intel C++ 5.0 (it uses the same name mangling scheme.)
The same limitation applies to type arguments:
template<class T> void f();
-- Peter Dimov Multi Media Ltd.