關於C 模版的連線錯誤問題

2021-08-13 09:36:41 字數 415 閱讀 4726

好久不用c++了,前幾天寫了乙個模版,按以前的習慣,把定義寫在標頭檔案中, 把實現寫在cpp檔案中。結果在編譯的時候沒有發生錯誤,但在連線的時候出現了找不到***的錯誤。一時之間不知道該怎麼辦才好,後來上網一查,自己再一想,唉,原來如此:

模版之所以為模版,就是可以容納不同的型別嘛,所以它只有在指定了其型別的時候才會生成實際的**,如果你只把模版的定義寫在標頭檔案中,那麼你生成在使用模版的時候就只會有宣告的定義部分,而沒有其具體的實現,所以鏈結器在連線時會報錯。

解決的辦法有兩個:

1. 把模版的宣告和實現都寫在乙個標頭檔案中,然後用的時候包含這個標頭檔案。

2. 如果你已經把它們分開了,比如說***.h ***.cpp。那也好辦,只好在使用的時候#include 「***.h」 #include 「***.cpp」即可。

關於C 模板的鏈結錯誤問題

好久不用c 了,前幾天寫了乙個模版,按以前的習慣,把定義寫在標頭檔案中,把實現寫在cpp檔案中。結果在編譯的時候沒有發生錯誤,但在連線的時候出現了找不到 的錯誤。一時之間不知道該怎麼辦才好,後來上網一查,自己再一想,唉,原來如此 模版之所以為模版,就是可以容納不同的型別嘛,所以它只有在指定了其型別的...

mysql 錯誤問題 mysql連線錯誤問題

error 1130 host 192.168.1.3 is not allowed to connect to this mysql server 解決方法 1。改表法。可能是你的帳號不允許從遠端登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 m...

mysql連線錯誤問題

error 1130 host 192.168.1.3 is not allowed to connect to this mysql server 解決方法 1。改表法。可能是你的帳號不允許從遠端登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 m...