看板 EE_DSnP 關於我們 聯絡資訊
我想在CirMgr內宣告吃Hash的函數 但是如果直接include "myHash.h"好像會卡在compile HashKey上(CirGate還沒建好) 照網路上查到用 extern template class Hash<HashKey, HashData> (猜過很多種打法了) 但是還是會說Hash不是template 請問應該要怎麼用呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.223.113
e124553423:還是說沒辦法extern一個class? 01/06 00:01
ric2k1:沒有在 extern 一個 class 的吧? 01/06 00:07
djshen:有include myHash.h? 01/06 00:07
djshen:我這樣可以.. 01/06 00:08
wmin0:應該不會是打成void f(Hash<HashKey, HashData>&)吧... 01/06 00:24
我inlcude後會因為hashkey的class有用到CirGate 會一直跳出CirGate incomplete之類的訊息Orz ※ 編輯: e124553423 來自: 118.160.223.113 (01/06 07:09) 把傳入值從CirGate*改成之後要存的東西後總算解決了 雖然不太想這樣~"~ ※ 編輯: e124553423 來自: 118.160.223.113 (01/06 07:58)
j0214ack:在cirDef.h裡forward declare? 01/06 12:55
j0214ack:或者在myHash.h事前宣告CirGate 01/06 12:58
j0214ack:呃第二行推錯了 01/06 12:59
e124553423:回家再試試 01/06 14:07
真的可以欸XD 不好意思笨了 ※ 編輯: e124553423 來自: 118.160.223.113 (01/06 18:16)