C语言头文件为什么要加#ifndef #define #endif(防止头文件重复包含)
生活随笔
收集整理的這篇文章主要介紹了
C语言头文件为什么要加#ifndef #define #endif(防止头文件重复包含)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
當你用VC的菜單新增一個類,你會發現自動生成的代碼總是類似下面的樣子:
#if !defined(AFX_XXXX__INCLUDED_)#define AFX_XXXX__INCLUDED_具體代碼#endif這是為了防止頭文件被重復包含。重復包含可以用下面的例子來說明:比如有個頭文件a.h,里面有個函數Fa;另一個頭文件b.h,里面有函數Fb, Fb的實現需要用到Fa,則b.h中需要包含a.h;有個cpp文件中的函數需要用到Fa和Fb,則需要包含a.h和b.h,此時a.h就發生了重復包含。編譯程序,出現如下錯誤:
error C2084: function 'bool __cdecl Fa()' already has a body解決辦法是在a.h的中加入:
#ifndef A#define A原來的代碼#endif參考文章:頭文件為什么要加#ifndef #define #endif
總結
以上是生活随笔為你收集整理的C语言头文件为什么要加#ifndef #define #endif(防止头文件重复包含)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言函数与接口有什么区别?
- 下一篇: source insight 注释乱码?