クラスの型がintの場合はメッセージを表示し、倍の場合はメッセージの1つを表示するメソッドを含む汎用クラスを作成します。C++でのメンバー関数テンプレートの特殊化
template<class T>
class A {
public:
template <T> void B();
};
template<class T>
void A<int>::B{
//some code here
}
template<class T>
void A<double>::B{
//some code here
}
私が得た次のエラー:任意の解決策を事前に
'double': illegal type for non-type template parameter '__formal'
'A<int>::B': unable to match function definition to an existing declaration
おかげでここに私のコードです。
あなたのコードは、あなたのエラーが一致していません。 [mcve] – NathanOliver
も提供してください。クラステンプレートと同じテンプレートパラメータ名を関数テンプレートに使用しないでください。 – NathanOliver
'B'もテンプレートにしますか?あなたの説明から、 'B'がクラステンプレート' A'の通常の非テンプレートメンバ関数になるように思えます。 – Angew