看板 C_and_CPP 關於我們 聯絡資訊
http://www.badongo.com/file/13429930 想請問一下上面的程式碼發生xxx已在yyy.obj內定義過了 的錯誤,但是應該不是之前的那種很明顯的重覆include 最近寫code想把檔案分開寫,常常會碰到上面的問題 ,但是卻不知道到底是哪裡有問題 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.167.97.135
jlovet:第一篇的推文就有,在每個.h加上#ifdef... 02/17 21:45
jlovet:sorry..你有加了 02/17 21:46
QQ29:我覺得你的include 要寫在#ifndef裡面而不是外面 02/17 22:03
tsaiminghan:剛剛突然想到\我想我知道我錯在哪裡了 02/17 22:45
tsaiminghan:我應該是因為變數宣告在.h, 造成重複定義 02/17 22:46
tsaiminghan:但是個別cpp並沒有重複定義 02/17 22:46
tsaiminghan:所以ifndef 的做法沒有作用 02/17 22:47
tsaiminghan:ifdef只能幫忙檢查單一cpp, 多個cpp之間沒有關聯 02/17 22:51
tsaiminghan:我覺得大概是這樣, 明天試試看 02/17 22:52
QQ29:是阿 不過我覺得你的 include確實要寫到裡面才行吧 02/17 22:53
tsaiminghan:對寫在裡面比較對 02/17 23:13
WPC001:宣告和實作並不相同, .h是拿來放宣告, 不是實做 02/18 08:51
WPC001:inline function / template則不在此限 02/18 08:51
HudsonE:未看先猜 extern / project setting 02/18 09:50
tsaiminghan:我對宣告和實作, 有一些弄不清楚 02/18 20:51
tsaiminghan:另外我那程式碼, 我變數宣告放到cpp就沒問題了 02/18 20:52