程式執行時遇到的鏈結問題

2022-09-16 13:00:10 字數 882 閱讀 7243

程式遇到鏈結問題很頭疼,無法具體定位出錯位置。以下是我最近幾天遇到的編譯錯誤,以及最後找出的原因分析。

1.1、link2019:無法解析的外部符號 "public: __thiscall btnode::~btnode(void)" (??1?$btnode@h@@qae@xz),該符號在函式 "public: void * __thiscall btnode::`scalar deleting destructor'(unsigned int)" (??_g?$btnode@h@@qaepaxi@z) 中被引用

我遇到的這個2019錯誤是由於在乙個類中我宣告了析構函式,卻忘記實現導致的。因此如果在類中宣告的成員函式,就一定要在定義部分實現,否則有可能導致這種鏈結錯誤。

1.2、link2019: 無法解析的外部符號 "public: void __thiscall binarytree::insert(int const &)" (?insert@?$binarytree@h@@qaexabh@z),該符號在函式 _main 中被引用

這次遇到的2019錯誤,指出我的insert函式無法解析,但這個函式我已經在標頭檔案中宣告且在相應的cpp檔案中定義了。還是無法解析,憂傷。。。。。不過最終還是知道了原因,是因為我寫的類是乙個模板類,將模板類的宣告寫在.**件中,定義寫在.cpp檔案中。而模板類在編譯過程中,編譯器要看到模板類的實現才能根據使用時的資料型別進行展開。所以如果只include標頭檔案,會出現鏈結錯誤。

解決方法(1):在呼叫的地方要inlude相應的標頭檔案,也要include標頭檔案對應的cpp檔案。

解決方法(2):在寫模板類時,將宣告與定義放在乙個檔案中。

2、link2001:無法解析的外部符號。。。

我遇到的2001錯誤,是由於在b類中使用了a類中的方法,而a類未在b類中宣告,故出現鏈結錯誤。

pomelo robot demo執行時遇到的問題

a npm install 命令安裝一下各個模組就可以了 q 在你確認你的資料庫使用者名稱和密碼正確的情況下,連線資料庫時,報密碼錯誤的問題 a 這是資料庫版本造成的問題,貼了個有誤的例子和正確的例子 q 連線不上伺服器的問題,報錯如下 could not find handler invalid ...

php程式執行時間 php計算程式的執行時間

首先我們分析一下原理,要想得到程式執行時間,那麼可以在程式最開始執行的時候定義乙個變數記下當前時間,然後等我們程式執行完之後再記錄一下當前的時間,兩者相差就是該程式執行花費的時間了。這裡介紹一下 microtime 這個函式,microtime 用的不多,但是不能不知道這個函式,它是返回當前 uni...

程式執行時間

要獲得乙個c語言程式的執行時間,常用的方法是呼叫標頭檔案time.h,其中提供了clock 函式,可以捕捉從程式開始執行到clock 被呼叫時所 耗費的時間。這個時間單位是clock tick,即 時鐘打點 同時還有乙個常數clk tck,給出了機器時鐘每秒所走的時鐘打點數。於是為了獲 得乙個函式f...