我有一個模板函數定義爲:嵌套模板專業化是如何做C++
template<typename TObject> TObject Deserialize(long version, const Value &value)
什麼,我需要做的,是寫一個專業化這將需要矢量定義爲:
template<typename TNum, int cnt> class Vec
並仍然可以訪問cnt和TNum。
我已經試過unsuccesfully
template<typename TNum, int cnt> Vec<TNum, cnt> Deserialize<Vec<TNum, cnt>>(long version, Value &value)
導致錯誤:非法使用顯式模板參數
什麼是做了正確的方法是什麼?
你不能部分專門化功能。因此,您必須將實際的實現隱藏到虛擬模板結構的靜態方法中,並專門化整個結構。 – HolyBlackCat
只有一個載體或任何容器? – rustyx
在我的情況下,Vec是外部庫的數學向量。 –