
In article <4C911E60.70405@providere-consulting.com>, watanabesj@gmail.com says...
AMDG
Noah Roberts wrote:
I don't really understand why this is going on. Instead of just
calling
the base's constructor directly, the BOOST_PARAMETER_CONSTRUCTOR macro creates a type resolution instantiation with this:
boost::parameter::aux::unaryfunptr_arg_type< void(*)(B) >::type
'B' being the base class.
This explodes if B is an abstract class. Both g++ 3.4.5 (mingw) and VS2010 hate this line.
Before I go about attempting to devise a workaround, what is the purpose of this strange bit of code? Why not just use 'B' directly?? The type resolution metafunction simply returns the 'B' place argument as its type anyway...
This bit of code exists to strip the parentheses off (B).
Of course. OK. And the parens are needed for templated base classes. Thanks. -- http://crazyeddiecpp.blogspot.com/