作者Nestarneal (涅斯)
看板C_and_CPP
標題[問題] header file重複定義
時間Wed Nov 23 21:41:08 2011
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
MS VS 2010
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
無
程式碼(Code):(請善用置底文網頁, 記得排版)
http://pastie.org/2908804
問題:
我想請問一下,我寫了 5 個 header file 分別是
1. Company.h
2. Manager.h
3. Engineer.h
4. Seller.h
5. OfficeLady.h
NO.2 ~ 5 因為繼承自 Company.h 內定義的 class CCompany
所以都會 include Company.h
而 main() 會 include NO.1 ~ 5
我把 Company.h 的開頭加上 #ifndef COMPANY_H
#define COMPANY_H
結尾加上 #endif
可是在編譯的時候過不了,顯示 error LINK2005 及 error LINK2001
於是我把每一個 header file 都如 Company.h 一樣,使用了 #ifndef, #define,
#endif
使用的分別是 MANAGER_H, ENGINEER_H, SELLER_H, OFFICELADY_H
不過仍然編譯不過,是漏了什麼嗎?
之前用 #pragma once 也過不了所以才改換這樣寫,不過一樣不行...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.33.61.196
→ legnaleurc:static member variable 的定義不可以放在 header 11/23 21:51
→ Nestarneal:原來是這樣...我測試了好久 Q_Q 11/23 23:55
→ Nestarneal:謝謝囉 :) 11/23 23:55
推 Ting1024:挖咧。 11/26 23:22