今天在寫**時,用到了五六個資料夾,但是在包含標頭檔案的時候不停的在報錯,因此特地重溫了下標頭檔案的包含;
標頭檔案包含符號分為兩種:
第一種為「」:先在當前工程儲存目錄下尋找,再去系統存放目錄取尋找,常用於自定義標頭檔案;
第二種為<>:直接在系統目錄下尋找,未找到則返回錯誤,不會在當前目錄下尋找;
因此,當我們需要使用自定義的標頭檔案的時候,要麼將標頭檔案拷貝至當前工程目錄,要麼將其拷貝至系統目錄(不推薦,操作不慎就是刪庫跑路);
引用標頭檔案的本質:將標頭檔案中的內容拷貝過來
因此,在使用自定義標頭檔案的時候,避免相互包含。因為很容易出現交叉引用的現象;
標頭檔案中不能定義變數,否則會導致重複定義;
標頭檔案互相包含問題
當我們有兩個類的標頭檔案互相包含時,如果出現乙個類中有另乙個類的物件時,vs就會報這樣的錯error c4430 缺少型別說明符 假定為 int。test2.h ifndef test2 h define test2 h include include test1.h using namespace...
標頭檔案路徑包含問題
標頭檔案包含兩種,系統標頭檔案和自定義標頭檔案,系統標頭檔案不說了,格式統一,自定義標頭檔案在包含的時候要注意路徑,其實是標頭檔案與主檔案的相對位置關係的問題。ps 另外,linux和windows下也有所區別。舉4個例子,應該就能看明白了。一.這種情況下,在main.c中包含標頭檔案如下 incl...
c 標頭檔案相互包含問題
c 中標頭檔案互相包含經常會出現編譯錯誤.示例 如下 h ifndef a h define a h include b.h includeusing namespace std class a endif a h a.cpp include a.h a a a a int a getvala vo...