当前位置: 首页 > article >正文

一种模板类实现和声明分开在生成的.a文件被使用时出现undefined reference时的一种解决方法

一种模板类实现和声明分开在生成的.a文件被使用时出现undefined reference时的一种解决方法

模板类头文件格式如下:
test.h

// test.h
namespace test {
namespace _testspace {
class base {
public:
base();
~base();
};

template<bool T>
class base_impl : public base {
public:
 base_impl() {
 }
void func1();
void func2();
};
} //namespace _test
typedef _testspace::base_impl<false> ft;
typedef _testspace::base_impl<true> tt;
}//namespace test

test.cpp如下:

#include "test.h"
namespace test {
namespace _testspace {
base::base() {
}
base::~base() {
}

void base_impl::func1() {
}

void base_impl::func2() {
}
}

template class _testspace::base_impl<false>;
template class _testspace::base_impl<true>;
}

尤为重要的是cpp中的最后两行代码,如果缺少,在使用的时候必报undefined reference


http://www.kler.cn/a/146121.html

相关文章:

  • C++第十五讲:异常
  • 数据结构入门
  • 万字长文介绍ARINC 653,以及在综合模块化航空电子设备(IMA)中的作用
  • 基于Python的心电图报告解析与心电吸引子绘制
  • SQL ON与WHERE区别
  • 【Go】Go Gorm 详解
  • 【设计模式】行为型模式-第 3 章第 6 讲【中介者模式】
  • react高阶成分(HOC)
  • YOLOv8改进 | SAConv可切换空洞卷积(附修改后的C2f+Bottleneck)
  • 面试笔记--Linux常用命令
  • 网络安全—自学
  • 基于单片机DHT11湿度测量与控制-CO2-光照报警系统程序和仿真
  • 终于等到你!常用的组织架构图模板,高清图片一键导出
  • 在vue页面中添加组件到底有多方便
  • udp通信socket关闭后,缓存不清空
  • 【Android知识笔记】性能优化专题(三)
  • [环境配置]vscode免密ssh的设置流程
  • 85基于Matlab的交通设施识别
  • 解决ssh -T git@github.com报错connection closed问题
  • Linux命令之sed
  • AI和人工智能与机器学习全景报告
  • 在线知识库管理平台zyplayer-doc
  • MyBatis-Plus简介和入门操作
  • Java基础之数组
  • 基于ssm的网上订餐系统
  • 工业自动化配电柜监控技术,不会用就太可惜了!