c++ - 如何解决错误“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;
}
解决方案
您忘记实现构造函数,如下所示:
template<class T>
class Yonah
{
T first, second;
public:
Yonah(T a, T b): first(a), second(b) {}
T larger();
} ;
推荐阅读
- java - 带参数的 CrudRepository 查询
- html - 有什么方法可以将视频放入所有设备和所有浏览器的单个屏幕中
- c# - fo-DICOM:如何在 DicomClient 中指定本地传出端口?
- opengl - 在 OpenSceneGraph 场景中显示 Qt Quick 内容
- html - 引导元素容器类导致另一个引导元素发生变化
- nginx - 配置 nginx 以在 VPS 上托管 React 应用程序
- python - 如何有效地计算pyspark中的平均值和标准差
- java - 迁移到 JDK11 改变了必须从 Maven 运行测试的方式
- python - Python / Django 用户个人资料页面 URL 土耳其语字符问题
- c# - 读取操作是否受益于 Cosmos DB 中的批量执行?