From: John Maddock (jm_at_[hidden])
Date: 2003-04-11 05:39:49


> VC++ 6.0 has problems with function templates whose template
> parameters don't appear in the function parameter list. Example:
...
> The bug is well-known and documented
>
> http://support.microsoft.com/default.aspx?scid=kb;en-us;240871
>
> and affects, at least, the code in the dynamic_bitset tests and the
> code in cast.hpp.
>
>
> What about adding a suitable workaround macro to the config? For
> instance:

We currently have BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS which is set
for that defect - though it's not really well named.
>
> #define BOOST_DUMMY_DEFAULT_ARGUMENT(t) t* = 0

Not a bad idea if you want to add it to config/suffix.hpp:

#ifndef BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
# define BOOST_DUMMY_DEFAULT_ARGUMENT(t)
#else
# define BOOST_DUMMY_DEFAULT_ARGUMENT(t) t* = 0
#endif

As long as the authors of those libraries are prepared to use it and make
the necessary changes...

John.