C++ “如何解决错误”;C+中未定义的引用+;?

C++ “如何解决错误”;C+中未定义的引用+;?,c++,c++14,C++,C++14,我正在尝试构建一个类模板,一切看起来都很好,但每当我尝试运行代码时,都会遇到以下错误: 对“Yonah::Yonah(int,int)”的未定义引用 这是我的密码: #include <iostream> using namespace std; template<class T> class Yonah { T first, second; public: Yonah(T a, T b); T larger();

我正在尝试构建一个类模板,一切看起来都很好,但每当我尝试运行代码时,都会遇到以下错误:

对“Yonah::Yonah(int,int)”的未定义引用

这是我的密码:

#include <iostream>

using namespace std;

template<class T>

class Yonah
{
    T first, second;
    public:
        Yonah(T a, T b);
        T larger();

} ;

template<class T>

T Yonah<T>::larger()
        {
            return(first>second?first:second);
        }

int main()
{
    Yonah <int> obj(4,5);

    cout<<"Larger = "<<obj.larger();
    return 0;
}
#包括
使用名称空间std;
模板
Yonah班
{
T第一,第二;
公众:
Yonah(tA,tB);
T大于();
} ;
模板
T Yonah::更大的()
{
返回(第一次>第二次?第一次:第二次);
}
int main()
{
Yonah obj(4,5);

难道你忘了实现构造函数,就像这样:

template<class T>
class Yonah
{
    T first, second;
    public:
        Yonah(T a, T b): first(a), second(b) {}
        T larger();

} ;
模板
Yonah班
{
T第一,第二;
公众:
约拿(TA,TB):第一(a),第二(b){}
T大于();
} ;

Yonah(ta,tb)的代码在哪里?
是的,这很合理。我的答案不是。回答得很好,谢谢!