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

这两天刚学数据结构,照着老师的代码写了个数组的类模板,然而在运行的时候,却总是报错,说模板类的方法找不到,调试了很久后还是报相同的错误。于是上网查了一些相关资料,最后方法原来是类模板的定义和实现写在了同一个文件中,这对于一般的类来说是没有问题,但对于模板类大多情况下就会报错。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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值