C++模板使用的一点心得

原创 2012年03月21日 21:18:42

这两天刚学数据结构,照着老师的代码写了个数组的类模板,然而在运行的时候,却总是报错,说模板类的方法找不到,调试了很久后还是报相同的错误。于是上网查了一些相关资料,最后方法原来是类模板的定义和实现写在了同一个文件中,这对于一般的类来说是没有问题,但对于模板类大多情况下就会报错。C++编程思想中说:模板类很特殊,由template<>定义的任何东西都意味着编译器在当时不为它分配内存空间,它一直处于等待状态,直到被一个模板实例告知,即模板参数是由编译器来替换的。对于这句话我还是不懂它和模板类的定义与实现放在一起有什么关系,希望大牛能指点一下。同时也希望今后遇到和我报错情况一样的人能即时解决问题。

解决办法就是把模板类的定义和实现放在一个文件下

我的报错情况:

Compiling...
main.cpp
SeqList.cpp
Linking...
main.obj : error LNK2001: unresolved external symbol "public: int __thiscall SeqList<int>::Find(int &)" (?Find@?$SeqList@H@@QAEHAAH@Z)
main.obj : error LNK2001: unresolved external symbol "public: __thiscall SeqList<int>::SeqList<int>(int)" (??0?$SeqList@H@@QAE@H@Z)
Debug/SeqProject.exe : fatal error LNK1120: 2 unresolved externals
执行 link.exe 时出错.


SeqProject.exe - 1 error(s), 0 warning(s)

非常好用的一个软件 eDiary + 建模软件 Enterprise Architect 8.0

经过一段时间的潜伏,历史悠久的也算是国内最好的电子日记本软件eDiary再次放出更新,eDiary的作用不仅仅在于写日记,您也可以用它来记流水帐、写工作日志,记录学习心得,或者用它来管理你的日常文档。...
  • moubenmao
  • moubenmao
  • 2013年07月15日 11:36
  • 2122

c++ 模板的使用

如何使用C++模板
  • lccrun
  • lccrun
  • 2017年03月08日 23:48
  • 258

C++模板的理解与使用

最近发现原来学的东西根本都不理解,所以本人正在恶补C++,把自己对C++中概念的最简单粗暴的理解写下来。 有问题的地方还请指出~随时更正 模板:顾名思义,就是为了方便以后使用而出现的东西,生活中的...
  • u012999985
  • u012999985
  • 2015年08月22日 11:01
  • 703

C++模板的缺点以及如何避免

    templates(模板)是节省时间和避免代码重复的极好方法,我们可以只输入一个类模板,就能让编译器实例化所需要的很多个特定类及函数。类模板的成员函数只有被使用时才会被实例化,所以只有在每一个...
  • pizi0475
  • pizi0475
  • 2011年03月28日 18:53
  • 2536

使用c++模板的优点和缺点

作为C++语言的新组成部分,模板引入了基于通用编程的概念。通用编程是一种无须考虑特定对象的描述和发展算法的方法,因此它与具体数据结构无关。但在决定使用C++模板之前,让我们分析一下使用模板的优缺点。 ...
  • chanlp129
  • chanlp129
  • 2014年03月16日 23:50
  • 3456

笨人学数学的一点心得

这是五六年前人人网上的一篇热门文章,里面有不少观点现在看来仍很有意思,现在分享给大家,今日推送中的第二条则持另一种态度,可以两厢对比,一起阅读。>>>> 我把自己这个彻底的外行,学数学的一点经验分享给...
  • FnqTyr45
  • FnqTyr45
  • 2018年01月03日 00:00
  • 96

C++模板template用法总结

引言 模板(Template)指C++程序设计设计语言中采用类型作为参数的程序设计,支持通用程序设计。C++ 的标准库提供许多有用的函数大多结合了模板的观念,如STL以及IO Stream。 ...
  • qq_35637562
  • qq_35637562
  • 2017年02月15日 12:37
  • 5914

C++ 模板类的实现为何放在.h中

主要原因:C++标准明确表示,当一个模板不被用到的时侯它就不该被实例化出来; 如以下代码:main.cpp中调用到模板类A的方法A::f,因A::f在test.cpp中实现,编译器在#1处并不知道A...
  • fz_qianzi
  • fz_qianzi
  • 2016年07月14日 21:09
  • 799

(原创)读《理解矩阵》的一点心得及整理归类

(原创)读《理解矩阵》的一点心得及整理归类1、空间(space)初级理解:    由熟悉的三维空间性质谈起。1. 由很多(实际上是无穷多个)位置点组成;2. 这些点之间存在相对的关系;3. 可以在空...
  • shirley329
  • shirley329
  • 2006年12月25日 19:51
  • 4313

c++ 模板的优点和缺点

Templates in C++ - Pros and Cons By SergeyChepurin | 29 Oct 2011 C++WindowsIntermediate Advan...
  • is2120
  • is2120
  • 2011年11月09日 13:09
  • 2400
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++模板使用的一点心得
举报原因:
原因补充:

(最多只允许输入30个字)