数据结构大作业----池塘夜雨(模板类定义和实现)

在使用VS2008进行数据结构大作业时,遇到模板类函数定义和实现不在同一文件导致编译错误的问题。文章详细解释了模板类的特性,并指出一般情况下模板类的定义和实现应放在同一个头文件中。通过理解模板类的工作原理,解决了代码编译和链接的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在做数据结构大作业---池塘夜雨中,定义粒子系统为模板类,然后把函数的定义和实现放在了不同文件中,vs2008中编译通过,但链接出现很多无法解析的外部命令,一看都是模板类的函数出错了,被这个问题困扰了一天,百思不得其解,后来上网看了后才发现原来模板类的函数定义和实现必须在同一h文件中,网上这样解释:
[quote]《c++编程思想》中说:模板类定义很特殊,由template<...>定义的任何东西都意味着编译器在当时不为它分配内存空间,它一直处于等待状态,直到被一个模板实例告知,即模板参数是由编译器来替换的。
为了容易使用,几乎总是在头文件中放置全部的模板声明和定义。有时,也可能为了满足特殊需要而要在独立的cpp中放置模板的实现。但大部分现在的编译器还不支持模板类的定义和实现分开[/quote]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值