看板 C_and_CPP 關於我們 聯絡資訊
下面是code: BST.h->http://codepad.org/Bopxek4k testBST.cpp->http://codepad.org/WyzXahOg compiler: DevC++ 問題: BST.h的第30、34行,提示invalid conversion from `double*' to `int' 為什麼function的recursion會出現invalid conversion的錯誤?? 明明return 的都是 double 的 pointer... @@ 此外,第37行也提示cannot convert `double* const*' to `double*' in return 即使加了 const_cast<E*>似乎也沒有用... 請問有什麼辦法可以解決嗎? 這些關於conversion的問題,雖然我查了書和網路資料,試了不同方法都還是不能解決@@ 懇請高手指正,謝謝! PS:因為是作業,老師要求只能修改標有// you have to implement here的 function“內部”(不包含prototype)的内容 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.4.185
Dannvix:怎麼會有老師叫學生在 header files 裡 implement...@_@ 05/27 23:29
james732:template要在header裡寫implement倒是無可厚非 05/27 23:30
fcoldstar:沒錯,只是主要不是template的問題 05/27 23:32
fcoldstar:那些constant的conversion如果說把prototype裡的const 05/27 23:33
fcoldstar:全都刪掉就不存在了,但是作業不允許這樣做@@ 05/27 23:33
fcoldstar:而且那個“int”怎麼跑出來的實在搞不懂…… 05/27 23:34
fcoldstar:如果令E=double,那麼pElement全都是double的pointer才對 05/27 23:36
Dannvix:原來如此,不太熟 template,受教了 <( _ _ )> 05/28 00:17
bleed1979:可以用wiki查一下binary tree和binary search tree 05/28 09:52