栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c++ 编译 报错 未定义的引用

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++ 编译 报错 未定义的引用

遇到的问题有两种情况。

一个是static没初始化。
一个是模板类实现和定义分开写。

这里主要记录一下模板类实现和定义分开写报错的问题(都放在.h文件中就不会报错)

自己尝试用“传统”方法,及在.h文件里声明,在.cpp文件里定义,然后在main函数里包含.h头文件,这样会报链接错误。

这是因为函数模板要被实例化后才能成为真正的函数,在使用函数模板的源文件中包含函数模板的头文件,如果该头文件中只有声明,没有定义,那编译器无法实例化该模板,最终导致链接错误。

解决办法,
方法0、实现和声明写在一个文件
方法1、 在main函数里包含.cpp
方法2、在实现的.cpp文件中显式实例化模板对象。

参考链接 https://blog.csdn.net/qq_41230365/article/details/80207819

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1022384.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号