0
テンプレート化されたメソッドをテンプレート化されたクラスに追加しようとしています。私はthis答えたが、構文は動作していません。tester
という2番目のメソッドを追加しました。これはテンプレート化したいものです。これは私が、私はこれは私が私はこのエラーを取得していますか私は間違っているかもしれないもの理由についてテンプレート化されたクラス内でテンプレート化されたメソッドを宣言する
main.cpp:20:31: error: non-type partial specialization 'tester<v>' is not allowed
void foo<t,u>::tester<v>(v lhs) {
任意の提案を得る誤りである方法tester
のエラーを取得しています
template <typename t,typename u>
struct foo {
void test();
template<typename v>
void tester(v lhs);
};
template<typename t,typename u>
void foo<t,u>::test() {
std::cout << "Hello World" ;
}
template<typename t,typename u>
template<typename v>
void foo<t,u>::tester<v>(v lhs) {
std::cout << "Hello world " << lhs ;
}
int main()
{
foo<int,int> t;
t.test();
t.tester<int>(12);
}
持っているものです?以下の修正コードで
あなたは 'テスター'のために特化しようとしている場合は、 '型名v'を削除しても' lhs'パラメータ –
KayEss
ため 'int'を使用メソッドのテスターをテンプレート化できるかどうか確認したいと思います。後で 'lhs'を' string'型にしたいのであればどうしますか? –
それで部分的に特化しようとしていないので、なぜ 'tester'ではなく 'tester 'を持っていますか? –
KayEss