提示コードですが以下のエラーを解決することが できずに困っています。何とかをしていせんとかと言われているので簡単なミスにも思えますがどうしてもコンパイルエラーを直せません。どうすればstd::vector<int>型のテンプレートクラスが作れるのでしょうか?ソースファイル側でエラーがでます。int型ではエラーなしに実行できました。
エラー[
クラス型のテンプレート パラメーターは、構造クラス型である必要があります
]
エラー[
名前の後に '::~' を付けることができるのはクラス名または名前空間名だけです
]
エラー[
クラス テンプレート "sample" の引数リストがありません
]
cpp
1#include "Header.hpp" 2#include <iostream> 3#include <vector> 4 5test::test() 6{ 7 printf("test\n"); 8} 9 10void test::f() 11{ 12 printf("fff\n"); 13} 14 15 16 17template<std::vector<int>> 18sample::sample(std::vector<int> a):test() 19{ 20 printf("sample"); 21} 22 23void sample::f() 24{ 25 printf("えええ\n"); 26}
hpp
1#include <iostream> 2#include <vector> 3 4class test 5{ 6public: 7 8 test(); 9 void f(); 10}; 11 12template<class type> 13class sample : private test 14{ 15public: 16 sample(type a); 17 18 void f(); 19 20}; 21 22 23 24 25template<> 26class sample<std::vector<int>> : private test 27{ 28public: 29 sample(std::vector<int> a); 30 31 void f(); 32 33};
回答3件
あなたの回答
tips
プレビュー