以前にも同様の質問があったことはわかっていますが、それらをいくつか読んでも、どこが間違っているのかわかりません。プロトタイプを定義から分離せずにクラスを作成するだけで、すべてが正常に機能します。以下に示すように、プロトタイプと定義を分離すると、問題が発生します。
template<class T> class VisitedSet {
public:
VisitedSet();
int getSize();
void addSolution(const T& soln);
void evaluate();
private:
vector<T> vec;
int iteration;
};
そして、私にこのエラーを与える定義の例として:
int VisitedSet::getSize() {
return vec.size();
テンプレート化されたクラスをこれまで作成したことがないので、ここでの問題が些細なものである場合はご容赦ください。