Boost C++ Libraries: Ticket #10842: Boost.Parameter: Class Template parameter can't be abstract https://svn.boost.org/trac10/ticket/10842 <p> VS 2013 fails to compile when abstract class is passed as class template parameter with error "cannot instantiate abstract class". Sample: </p> <p> #include &lt;boost/parameter.hpp&gt; </p> <p> class Intf { public: </p> <blockquote> <p> virtual void func() = 0; </p> </blockquote> <p> }; </p> <p> BOOST_PARAMETER_TEMPLATE_KEYWORD(param) </p> <p> template&lt;class Arg&gt; class P { public: </p> <blockquote> <p> typedef typename boost::parameter::parameters&lt; </p> <blockquote> <p> boost::parameter::optional&lt;tag::param&gt; </p> <blockquote class="citation"> <p> ::bind&lt;Arg&gt;::type args; </p> </blockquote> </blockquote> <p> typedef typename boost::parameter::value_type&lt;args, tag::param, void&gt;::type param_type; </p> </blockquote> <p> }; </p> <p> int main() { </p> <blockquote> <p> P&lt;param&lt;Intf&gt; &gt; p; </p> <blockquote> <p> return 0; </p> </blockquote> </blockquote> <p> } </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/10842 Trac 1.4.3 anonymous Wed, 03 Dec 2014 08:53:09 GMT summary changed https://svn.boost.org/trac10/ticket/10842#comment:1 https://svn.boost.org/trac10/ticket/10842#comment:1 <ul> <li><strong>summary</strong> <span class="trac-field-old">Boost.Parameter: Class Template can't be abstract</span> → <span class="trac-field-new">Boost.Parameter: Class Template parameter can't be abstract</span> </li> </ul> Ticket