C++ “如何解决错误”;C+中未定义的引用+;?
我正在尝试构建一个类模板,一切看起来都很好,但每当我尝试运行代码时,都会遇到以下错误: 对“Yonah::Yonah(int,int)”的未定义引用 这是我的密码: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();
#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)的代码在哪里?
是的,这很合理。我的答案不是。回答得很好,谢谢!