Подскажите пожалуйста, где у меня ошибка или решение для следующей ситуции:
Hello, I've some problem with using templates:
myclass.h
#ifndef MYCLASS_H
#define MYCLASS_H
template <class S> class myclass
{
private:
public:
myclass(void){};
~myclass(void){};
void login(S login, S pass);
};
#endif // MYCLASS_H
myclass.cpp
#include "myclass.h"
#include "../additional_func.h" // для для функции connect(QString, QString)
template <class S>
void myclass::login(S login, S pass)
{
additional_func->connect(login,pass);
}
в слоте на клик на форме:
myclass<QString> *vr = new myclass<QString>();
vr->login(ui->linelogin->text(),ui->linepwd->text());
получаю ошибку:
/home/user/test/mainwindow.cpp:30: error: undefined reference to `myclass<QString>::login(QString, QString)'
:: error: collect2: ld returned 1 exit status
Подскажите пожалуйста, в чем ошибка? правильно ли объявлен класс? Правильно ли создается его экземпляр? В общем, интересует вся критика и помощь в решении этой ошибки.