作者meanid (meanid)
看板EE_DSnP
标题[问题] error: cannot allocate an object of...
时间Sat Dec 24 17:58:39 2011
现在在cirGate.h里面写member function
readCircuit 已经写完了 compile也可以过
但不知道位何刚刚compile就出现这行:
cirMgr.cpp:258: error: cannot allocate an object of abstract type ‘CirAigGate
’cirGate.h:193: note: because the following virtual functions are pure
within ‘CirAigGate’:cirGate.h:45: note: virtual CirGate*
CirGate::getFin0() constcirGate.h:46: note: virtual bool
CirGate::get_0inv() constcirGate.h:47: note: virtual bool
CirGate::get_1inv() const
CirAigGate是继承CirGate
是因为我在写AIG的member function的时候改到了什麽吗?
因为我确定没动到cirMgr.cpp 和 .h
那三个virtual func本来都好好的,都没有error 也可以用
本来我这三个func不是virtual 是CirAigGate才有的mem func
做用是在return自己的private data member
但後来我把他们三个在cirGate变成virtual func
我确定其他继承的gate都定义过这三个virtual func了 只是里面是空的
是这个原因吗??位什麽??
感谢解答
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.4.181
※ 编辑: meanid 来自: 140.112.4.181 (12/24 18:13)
1F:推 gamerred:const 有注意到吗? 那个不一样有差 12/24 19:36
2F:推 kickpp:error是说你这是pure virtual func... 12/24 23:13
3F:推 kickpp:你如果有virtual...= 0 那麽你就得要在所有继承它的class 12/24 23:15
4F:→ kickpp:中宣告这个function 如果你不是所有继承的class都需要这个 12/24 23:15
5F:→ kickpp:function 就不要设成pure virtual 12/24 23:16