模板静态函数的未定义引用

时间:2014-06-19 00:36:14

标签: c++ qt qt4

这段代码出了什么问题!!!! 未定义引用`bool BioQt :: QSequenceValidator :: IsValidDNASequence(BioQt :: QSequence)'

   class QSequenceValidator
{


public:

    template<class SEQ>
    static bool IsValidDNASequence(SEQ seq);
}

template<class SEQ>
bool IsValidDNASequence(SEQ seq)
{
    foreach (QChar c ,seq)
    {
        if(!CompoundSet::DNACompoundSet().contains(c,Qt::CaseInsensitive))
            return FALSE;

    }
    return TRUE;

}


int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
  qDebug()<<QSequenceValidator::IsValidDNASequence(pop);

    return a.exec();
}

1 个答案:

答案 0 :(得分:0)

QSequenceValidator::定义之前添加IsValidDNASequence。目前您正在定义自由函数,而不是静态成员函数。即。

template<class SEQ>
bool QSequenceValidator::IsValidDNASequence(SEQ seq)
{
  ...
}