此問題可能與此問題重疊:C++ explicit template specialization of templated constructor of templated class。 但是,我沒有找到該線程中的解決方案。模板化類的模板化構造函數的顯式模板特化
我有一個模板化的構造函數模板類:
template<typename First, typename ... Rest> class var {
public:
template<typename T> var(T& t) {
std::cout << "general" << std::endl;
}
};
但如果這個類實例化與同一類參數(即一個對象,我們想調用禁止複製(或move-)構造函數)應該完成一些具體的事情。所以,我試過如下:
template<typename First, typename ... Rest> template<>
var<First, Rest...>::var(var<First, Rest...>& v) {
std::cout << "copy" << std::endl;
}
當試圖使用g ++ 4.6編譯此我得到 錯誤:之前無效明確的專業化「>」令牌 錯誤:包含的類模板並未明確專門 從先前的錯誤,拯救
我看這個問題,我會明確地說爲哪一類,我想專門構造...
不過,我希望它變得清晰了我想做的事情。任何想法如何?
對於問題中提到的問題,您的回答正常。事實證明,我不完全問我想問什麼,所以有一個新的問題:http://stackoverflow.com/questions/22024090/class-with-templated-constructor-as-well-as-copy-and -move構造函數 – mg84