Я понимаю, что подобные вопросы были заданы раньше, но я прочитал пару из них и до сих пор не вижу, где я ошибаюсь. Когда я просто пишу свой класс, не отделяя прототип от определения, все работает нормально. Проблема возникает, когда я отделяю прототип и определение, как показано ниже:
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();
Я никогда раньше не делал шаблонный класс, поэтому, пожалуйста, простите меня, если проблема здесь тривиальна.