[問題] request member of non-class type

看板C_and_CPP作者 (joey)時間11年前 (2013/01/04 12:53), 編輯推噓3(301)
留言4則, 3人參與, 最新討論串1/1
目前想要用BFS將tree以階層方式印出 //定義AVL tree的Node typedef struct Node { struct Node *lchild,*rchild; int bf; int data; }BiTNode,*BiTree; ....中間略 //印出階層tree的function void traverse(BiTree *t) { queue<BiTree*> qe; qe.push(t); while(!qe.empty()) { BiTree* pe = qe.front(); qe.pop(); cout<< pe->data; --------------------------->(1) if(pe->lchild) qe.push(pe->lchild);----------->(2) if(pe->rchild) qe.push(pe->rchild);----------->(3) } } compile一直出現(1)(2)(3)錯誤 error: request for member 'data' in '* pe', which is of non-class type 'Node*' error: request for member 'lchild' in '* pe',which is of non-class type 'Node*'| error: request for member 'lchild' in '* pe', which is of non-class type 'Node*' 想了老半天 也google了 還是不知道錯在哪 麻煩各位前輩幫小弟看看>.< -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.37.162.221

01/04 13:52, , 1F
應該要把函式參數 以及Queue..等的 BiTree* 改成 BiTree
01/04 13:52, 1F

01/04 13:52, , 2F
但是還是照樣用箭頭 -> 吧?
01/04 13:52, 2F

01/04 17:27, , 3F
你的BiTree是Node**的型態 所以找不到data這個member
01/04 17:27, 3F

01/06 00:14, , 4F
把BiTree* 改成BiTree或 typedef那邊少一個*應該就可以過了
01/06 00:14, 4F
文章代碼(AID): #1Gvc0one (C_and_CPP)