看板 EE_DSnP 關於我們 聯絡資訊
現在在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)
gamerred:const 有注意到嗎? 那個不一樣有差 12/24 19:36
kickpp:error是說你這是pure virtual func... 12/24 23:13
kickpp:你如果有virtual...= 0 那麼你就得要在所有繼承它的class 12/24 23:15
kickpp:中宣告這個function 如果你不是所有繼承的class都需要這個 12/24 23:15
kickpp:function 就不要設成pure virtual 12/24 23:16