美文网首页
C++模板函数声明与实现分离问题

C++模板函数声明与实现分离问题

作者: 此间不留白 | 来源:发表于2019-11-04 14:56 被阅读0次

    问题:

    在C++中,用模板的方法实现链表时,有一个很棘手的问题,就是模板的声明和定义必须得放在一起,分开实现就会无法链接,在vs2019中并出现如下错误:

    fatal error LNK1120: 1 个无法解析的外部命令

    解决方法:

    为了解决这一问题,查阅了一些资料和源码,终于得到了解决方法,具体步骤就是:

    • 在头文件中实现函数声明

    • 将每个函数的声明实现放在一个.h的文件中,具体的解决方案目录结构如下:


    • 定义一个新的头文件(如list_implemention.h),将所有函数实现的头文件包含进去,如下图所示:

    • 在函数声明的头文件末尾,包含这个头文件


    • 定义一个头文件(如 list_test.h)包含整个项目的基本头文件,如(iostrean,list.h)

    • 最后,只要在测试驱动的cpp文件中(如main.cpp)中包含以上list_test.h文件就可以了。

    相关文章

      网友评论

          本文标题:C++模板函数声明与实现分离问题

          本文链接:https://www.haomeiwen.com/subject/fuhdbctx.html