作者fu3mo6 (ㄚ龐)
看板EE_DSnP
標題[問題] cirparseerror
時間Mon Jan 3 22:33:15 2011
(有種"現在還在問parse的問題太遜了吧"的感覺...)
在做parsing的時候
我宣告了一個private function,他的傳入值中有一個cirparseerror型態的
然後宣告prototype在cirmgr.h裡面
但是compile的時候他說cirparseerror是"not yet be defined"
我有想到幾種解決方法...還沒試就是了
一是用.h去include .cpp,但想到老師以前說這樣的寫法不好
二是把enum系列的宣告拿到.h裏面去,但是static的部分會不會造成其他問題啊?
三是給每一個errorstate指定一個整數,就像cirtype那邊一樣
然後用整數來代替parseerror丟入func中
這樣改老師的reference可以嗎?
謝謝
---------------------------------------------------------------
用二號方法解決了~
想問關於inheritance的constructor
如果:
class A{}; //裡面有一個以int為參數的constructor
class B: public A{}; //裡面也有一個以int為參數的constructor,和A一模一樣
A* a = new B(someint);
在compile時OK
但在link的時候說"undefined reference to 'vtable for B'這樣
那該怎麼改比較好?
constructor不能加virtual吧?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.227.96.72
1F:推 michael0728n:不會阿 我還卡在整體架構不敢下筆QQ 01/03 22:39
2F:推 tomap41017:應該是拿enum對架構影響最小..樓上,我也是卡架構很久 01/03 23:19
3F:→ tomap41017:這個作業超級考驗思考的!!樓主不要太擔心,parsing 01/03 23:19
4F:→ tomap41017:我也才剛開始動工而已XD 01/03 23:19
5F:推 TommyKSHS:我 parsing 寫一點點就不想寫去寫別的部份了= = 01/03 23:35
6F:推 BBSealion:架構花超久+1... parsing能work正確版就想做其他的了XD 01/04 10:37
※ 編輯: fu3mo6 來自: 125.227.92.238 (01/04 16:41)
※ 編輯: fu3mo6 來自: 125.227.92.238 (01/04 17:32)
7F:推 ric2k1:後面的問題應該是有 child class 有還沒 define 的 virtual 01/04 21:14
8F:→ ric2k1:function 01/04 21:14
9F:推 tomap41017:B的ctor記得要明白call A ctor(int)..@@" 01/04 21:49
10F:→ fu3mo6:但是要怎麼弄呢?因為他error就是給在constructor那邊 01/04 22:45
11F:推 tomap41017:B(int i):A(i), _data(.....) {} 01/04 23:03
12F:→ tomap41017:用initialization list初始化base object 01/04 23:04
13F:推 ric2k1:推架構要想好... 我跨完年後就很龜毛的砍掉重練了... 01/05 02:07
14F:→ ric2k1:但重練之後就好寫多了... 01/05 02:07