我试图解决一个问题,但发现了一个不同的解决方案。然而 出于好奇想知道,如果以下是可能的:从非专业版本继承C++专业模板
template<class> struct S;
template< > struct S<Foo> : struct<Foo> {};
我希望能够继承非专业化结构从上面的专业例如struct.the不起作用,因为继承的结构是专业的,领先到无限递归。
一个可能的解决方案是添加第二个模板参数,比如说bool专用的,这样默认值为false,专用模板具有该参数为true。但是由于实例化需要指定附加参数,所以事情有点麻烦。
有没有其他的方法来实现上述?
最初的问题是实现矩阵的矩阵,其中矩阵本身可能有额外的运算符,这取决于组成矩阵是否具有这些运算符。我希望这是有道理的。同时不同的专用矩阵需要保持相同的名称,但具有不同的模板参数的同一基础类。我曾经想过可能有办法做到这一点使用enable_if和型性状
第一个反问题是你想用这个解决什么样的问题? – 2010-01-13 20:15:31