作者e124553423 (C.C.Yang.)
看板EE_DSnP
標題[問題] 有辦法extern template class嗎?
時間Thu Jan 5 23:59:09 2012
我想在CirMgr內宣告吃Hash的函數
但是如果直接include "myHash.h"好像會卡在compile HashKey上(CirGate還沒建好)
照網路上查到用
extern template class Hash<HashKey, HashData> (猜過很多種打法了)
但是還是會說Hash不是template
請問應該要怎麼用呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.223.113
1F:→ e124553423:還是說沒辦法extern一個class? 01/06 00:01
2F:推 ric2k1:沒有在 extern 一個 class 的吧? 01/06 00:07
3F:→ djshen:有include myHash.h? 01/06 00:07
4F:→ djshen:我這樣可以.. 01/06 00:08
5F:→ 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)
6F:推 j0214ack:在cirDef.h裡forward declare? 01/06 12:55
7F:推 j0214ack:或者在myHash.h事前宣告CirGate 01/06 12:58
8F:→ j0214ack:呃第二行推錯了 01/06 12:59
9F:→ e124553423:回家再試試 01/06 14:07
真的可以欸XD
不好意思笨了
※ 編輯: e124553423 來自: 118.160.223.113 (01/06 18:16)