我已經成功地爲程序添加了一個動態庫,但是當我嘗試在項目的第二個文件中包含頭文件時,我得到有關類重新聲明的錯誤。如果這還不夠,我會添加更多信息不能在多個文件中包含動態庫頭文件?
回答
您需要將警衛放入您的標題中,以免它多次包含在內。對於文件「my.h」,你可以沿的線條添加的東西:
#ifndef MY_H
#define MY_H
// Header declarations here
#endif
這種方式,您可以包括.h文件多次,但它只會被列入第一次。
#include將用文件內容替換#include語句;因此具有相同文件的多個#include將多次重新定義元素。典型的方式是一種保護措施,如:
/* file foo .h */
#ifndef _FOO_H
#define _FOO_H
/* content */
#endif
thx;)現在我明白了爲什麼它放在任何地方。 – 2009-11-11 01:44:12
對此回答的小預訂: IIRC「領先的核心代碼+主要的大寫字母」名稱僅用於符號名稱而非宏。但對於一致性,我會說不要使用宏的前導下劃線。在我的店裏,我們去了「Foo_h_included_」的表格。與任何東西發生衝突的Chnaces都很小。 – 2009-11-11 01:48:42
因此,您不需要添加_included的前導下劃線,並遵循這種情況? – 2009-11-11 01:54:57
- 1. 不能包含頭文件
- 2. 不能包含頭文件?
- 3. 不能包含在CPP文件頭
- 4. 包含在多個.cpp文件中的頭文件
- 5. 包含在頭文件中
- 6. php不能包含多個文件
- 7. 我不能包含NTDDk頭文件!
- 8. XCode4不能包含頭文件<>
- 9. 在另一個頭文件中包含頭文件
- 10. 在附加頭文件中包含頭文件包括路徑
- 11. 包含頭文件
- 12. 如何在頭文件中包含依賴項而不將其包含在包含頭文件的項目中
- 13. 動態包含類文件
- 14. 在每個源文件中包含一個頭文件
- 15. 創建一個包含僅包含頭文件的庫的Makefile
- 16. 頭文件C++的多個包含文件
- 17. 包含JavaScript文件在jsp從另一個JavaScript文件動態
- 18. 在每個源文件中包含頭文件(Objective-C)
- 19. 在頭文件tempate文件中包含php文件
- 20. 靜態庫中的頭文件包含和可見性iOS
- 21. 爲什麼頭文件Head1.h不能包含一個包含Head1.h的頭文件Head2.h?
- 22. 不能在php中包含文件
- 23. 在cache.manifest中包含多個js文件?
- 24. 在多個.cpp中包含相同的頭文件
- 25. InputStream包含多個文件
- 26. C++頭文件本身不包含依賴文件頭
- 27. 在cygwin中包含頭文件
- 28. 在VS2005中包含頭文件
- 29. 外部頭文件包含在C++中
- 30. 在Pypi包中包含靜態文件
THX很多:D難道我只是需要把頁眉或做我需要把整個文件或全班 – 2009-11-11 01:51:28
所有的頭文件的內容會裏ifdef。這包括你的類定義,但不包括你的方法定義。 – dj2 2009-11-11 01:52:55
@ dj2:爲什麼不是方法定義? – 2009-11-11 04:15:32