2017-08-17 4 views
4

以下のコードは正常に動作します:一部の専門++テンプレート:テンプレートパラメータ演繹ない

エラー:部分特殊でテンプレートパラメータ推論ではない:

template<typename T, int n> 
class Fib {}; 

template<typename T,int n> 
class Fib<T*,n> {}; 

しかし、以下のコードのようにエラーが表示されます

template<typename T, int n> 
class Fib {}; 

template<typename T,int n> 
class Fib<T*,0> {}; 

あなたは、この行動の理由を説明できますか?

+1

私は既に知っていると思いますが、専門は 'template class Fib {};' – user463035818

答えて

4

私はあなただけで部分特殊のための右の構文が欠落していると信じて:

template<typename T, int n> 
class Fib { 

}; 

template<typename T> 
class Fib<T*,0> { 

}; 

秒だけの一定値である一方、テンプレート上の最初のパラメータは、タイプです。

関連する問題