作者XDucka (Duck)
看板EE_DSnP
標題[問題] undefined reference
時間Mon Dec 17 14:50:28 2012
請問一下為什麼我在
class CirGate
{
public:
CirGate(unsigned g):_ref(_gRef),_gateId(g){}
virtual ~CirGate() {}
...
static unsigned _gRef;
static void gpp(){++_gRef;}
private:
protected:
unsigned _ref;
...
};
class AigGate : public CirGate{
public:
AigGate(unsigned g):CirGate(g),_fanout(0){
_ref=_gRef; ...}
private:
...
};
compile的時候一直出現呢 Q_Q
/home/sillyduck/Ubuntu One/DSnP/hw6/src/cir/cirGate.h:27: undefined reference
to `CirGate::_gRef'
../../lib/libcir.a(cirMgr.o): In function `AigGate':
/home/sillyduck/Ubuntu One/DSnP/hw6/src/cir/cirGate.h:59: undefined reference
to `CirGate::_gRef'
我把code全部複製到新的123.cpp再compile就可以過 =.=|||
順便問一下 cirp -fl 的順序不太一樣這OK嗎
ref的順序是用dfs的順序還是照大小排序的順序阿?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.25.107
1F:推 ypf791:檢查一下cirMgr.cpp有沒有#include "CirGate.h" 12/17 15:38
2F:推 ypf791:抱歉 是cirMgr.h可能沒有#include "CirGate.h" 12/17 15:40
3F:→ ypf791:另外 我覺的_gRef可以定成protected.... 12/17 15:41
4F:→ XDucka:有 Orz 12/17 15:46
已解決Orz 原來static data member的初始化一定要在不同的檔案裡面
我在.h裡面初始化就GG=.=
※ 編輯: XDucka 來自: 140.112.25.107 (12/17 15:59)
※ 編輯: XDucka 來自: 114.25.231.170 (12/17 22:57)
※ 編輯: XDucka 來自: 114.25.231.170 (12/17 23:15)