[問題] template重載<<,分開會寫Linking error
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++ 2012
問題(Question):
template中重載運算子 << ,分成.h 跟 .cpp後失敗..
放在.h檔裡面OK。
程式碼(Code):*[m
http://ideone.com/4QKTvU
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.121.198.169
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1395890046.A.41E.html
→
03/27 11:14, , 1F
03/27 11:14, 1F
→
03/27 13:25, , 2F
03/27 13:25, 2F
→
03/27 13:26, , 3F
03/27 13:26, 3F
→
03/27 14:46, , 4F
03/27 14:46, 4F
→
03/27 14:47, , 5F
03/27 14:47, 5F
→
03/27 14:48, , 6F
03/27 14:48, 6F
→
03/27 14:48, , 7F
03/27 14:48, 7F
→
03/27 18:21, , 8F
03/27 18:21, 8F
→
03/27 18:21, , 9F
03/27 18:21, 9F
謝謝樓上,不過我在.cpp檔有實體化喔~ 相當於文章中的第二種方法,
其他函式也確實沒問題,整支程式都可以跑了...就只剩下這個Operator分開會出現
Linking Error,無法解析的外部符號...
因為其他的Operator Overloadding都沒什麼問題,懷疑會是friend跟template
之間需要作什麼特殊處理,但目前還查不到相關資訊 Orz
※ 編輯: lovesnake 來自: 140.121.198.169 (03/27 19:48)
推
03/28 16:58, , 10F
03/28 16:58, 10F
→
03/28 17:03, , 11F
03/28 17:03, 11F
原來Friend在CPP裡面也要都實例化一遍...了解了~ 謝謝!!
哈哈,的確很麻煩~
不過對我來說,無法把Declaration跟Definition分開來寫我會更痛苦 Orz
或許以後會習慣吧 XD...
※ 編輯: lovesnake 來自: 140.121.198.169 (03/28 22:50)