"struct"類型重定義解決辦法


  

#ifndef 在頭文件中的作用

在一個大的軟件工程里面,可能會有多個文件同時包含一個頭文件,當這些文件編譯鏈接成一個可執行文件時,就會出現大量 “重定義”的錯誤。

在頭文件中使用#ifndef #define #endif能避免頭文件的重定義。

方法:例如要編寫頭文件test.h 在頭文件開頭寫上兩行:

#ifndef _TEST_H 

#define _TEST_H//一般是文件名的大寫

頭文件結尾寫上一行:#endif 

這樣一個工程文件里同時包含兩個test.h時,就不會出現重定義的錯誤了。

分析:當第一次包含test.h時,由於沒有定義_TEST_H,條件為真,這樣就會包含(執行)#ifndef _TEST_H和 #endif之間的代碼,當第二次包含test.h時前面一次已經定義了_TEST_H,條件為假,#ifndef _TEST_H和 #endif之間的代碼也就不會再次被包含,這樣就避免了重定義了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM