作者danielko (蛋尼爾糕)
看板EE_DSnP
標題[問題] reference parameter with default value
時間Fri May 16 18:01:25 2008
因為我想寫成recursively call
而default _root是因為不能改adtTest.h那邊的code
bool erase(const T& x, BSTreeNode<T>*& subtree = _root)
這樣compile不給過
看不懂error message...
說_root不是static member
不知道這跟錯誤的關連性
請問有什麼alternatives可以解決嗎?
感謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.4.235
※ 編輯: danielko 來自: 140.112.4.235 (05/16 18:02)
1F:推 bnsblue:把BSTree的&拿掉看看 05/16 18:39
2F:→ danielko:可是&才是我的目的耶 XD 05/16 19:17
3F:→ danielko:這樣才能直接改parent的child pointer 05/16 19:21
4F:→ danielko:把&拿掉還是一樣 orz 05/16 19:31
5F:推 ric2k1:不能把 data member 當作是 default parameter, 05/16 20:20
6F:→ ric2k1:可以這樣寫: ... subtree = 0) { if (!subtree) subtree = 05/16 20:21
7F:→ ric2k1:_root; ...} 05/16 20:21
8F:→ danielko:謝謝老師 05/17 17:11