看板 C_and_CPP 關於我們 聯絡資訊
開發平台(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