作者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)