关于C++模版的连接错误问题
生活随笔
收集整理的這篇文章主要介紹了
关于C++模版的连接错误问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
好久不用C++了,前幾天寫了一個模版,按以前的習慣,把定義寫在頭文件中, 把實現寫在cpp文件中。結果在編譯的時候沒有發生錯誤,但在連接的時候出現了找不到xxx的錯誤。一時之間不知道該怎么辦才好,后來上網一查,自己再一想,唉,原來如此:
???? 模版之所以為模版,就是可以容納不同的類型嘛,所以它只有在指定了其類型的時候才會生成實際的代碼,如果你只把模版的定義寫在頭文件中,那么你生成在使用模版的時候就只會有聲明的定義部分,而沒有其具體的實現,所以鏈接器在連接時會報錯。
??? 解決的辦法有兩個:
???? 1. 把模版的聲明和實現都寫在一個頭文件中,然后用的時候包含這個頭文件。
???? 2. 如果你已經把它們分開了,比如說xxx.h xxx.cpp。那也好辦,只好在使用的時候#include “xxx.h” #include “xxx.cpp”即可。
總結
以上是生活随笔為你收集整理的关于C++模版的连接错误问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C/C++面试题精选
- 下一篇: 【正则表达式1】C++11正则表达式