首页 > 解决方案 > 如何解决错误“C++ 中未定义的引用?

问题描述

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

对'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;
}

标签: c++c++14

解决方案


您忘记实现构造函数,如下所示:

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

} ;

推荐阅读