VS 2013 C++ 类模板定义与实现 进行分离
生活随笔
收集整理的這篇文章主要介紹了
VS 2013 C++ 类模板定义与实现 进行分离
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
最近在看C++類模板的定義與實現(xiàn),在按照正常的類的流程進行分離時發(fā)現(xiàn)“LNK2019: 無法解析的外部符號”這個錯誤。
解決方案:
1. 如果堅持使用分離的方法解決,可以在main.cpp中的include “template_class.h”要修改成"template_class.cpp",就不會出現(xiàn)上述錯誤。
2. 此外可以把模板的定義和實現(xiàn)都放到一個頭文件(.h)中,之后再在main.cpp中使用,也不會有問題。
我查找了很多資料,發(fā)現(xiàn),出現(xiàn)這個問題的原因是:
? ?一:在VS中,因為C++標準明確表示,當一個模板不被用到的時候它就不應(yīng)該被實例化出來(可點擊鏈接查看詳情);
二:此外,目前VS中不支持export template<class T>形式,不知道未來會不會支持,也有網(wǎng)友指出“現(xiàn)在沒有未來也不一定有的說法”;
總結(jié)
以上是生活随笔為你收集整理的VS 2013 C++ 类模板定义与实现 进行分离的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ 中的三种继承public , p
- 下一篇: C++ 类模板解读