我試圖解決一個問題,但發現了一個不同的解決方案。然而 出於好奇想知道,如果以下是可能的:從非專業版本繼承C++專業模板
template<class> struct S;
template< > struct S<Foo> : struct<Foo> {};
我希望能夠繼承非專業化結構從上面的專業例如struct.the不起作用,因爲繼承的結構是專業的,領先到無限遞歸。
一個可能的解決方案是添加第二個模板參數,比如說bool專用的,這樣默認值爲false,專用模板具有該參數爲true。但是由於實例化需要指定附加參數,所以事情有點麻煩。
有沒有其他的方法來實現上述?
最初的問題是實現矩陣的矩陣,其中矩陣本身可能有額外的運算符,這取決於組成矩陣是否具有這些運算符。我希望這是有道理的。同時不同的專用矩陣需要保持相同的名稱,但具有不同的模板參數的同一基礎類。我曾經想過可能有辦法做到這一點使用enable_if和型性狀
第一個反問題是你想用這個解決什麼樣的問題? – 2010-01-13 20:15:31