VS 2013 C++ 类模板定义与实现 进行分离
最近在看C++類模板的定義與實(shí)現(xiàn),在按照正常的類的流程進(jìn)行分離時(shí)發(fā)現(xiàn)“LNK2019: 無(wú)法解析的外部符號(hào)”這個(gè)錯(cuò)誤。
解決方案:
1. 如果堅(jiān)持使用分離的方法解決,可以在main.cpp中的include “template_class.h”要修改成"template_class.cpp",就不會(huì)出現(xiàn)上述錯(cuò)誤。
2. 此外可以把模板的定義和實(shí)現(xiàn)都放到一個(gè)頭文件(.h)中,之后再在main.cpp中使用,也不會(huì)有問題。
我查找了很多資料,發(fā)現(xiàn),出現(xiàn)這個(gè)問題的原因是:
? ?一:在VS中,因?yàn)?/span>C++標(biāo)準(zhǔn)明確表示,當(dāng)一個(gè)模板不被用到的時(shí)候它就不應(yīng)該被實(shí)例化出來(lái)(可點(diǎn)擊鏈接查看詳情);
二:此外,目前VS中不支持export template<class T>形式,不知道未來(lái)會(huì)不會(huì)支持,也有網(wǎng)友指出“現(xiàn)在沒有未來(lái)也不一定有的說(shuō)法”;
 
 
 
 
總結(jié)
以上是生活随笔為你收集整理的VS 2013 C++ 类模板定义与实现 进行分离的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: C++ 中的三种继承public , p
 - 下一篇: 星纪魅族今年上半年发布首款高端手机、AR