[問題] 巢狀 Universal Reference
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++ 2013
問題(Question):
如程式碼,因為使用者傳入的參數會經過三層的處理,所以三個function都要用
universal Reference的版本,否則六個函式中有三個是重覆的Code。
結果就是編譯失敗...然而看不懂失敗的訊息... (參數A不能轉為參數B&&)
底下呼叫的是Universal Reference的Function,Template不是應該會產生
rvalue reference的版本,然後overload resolution會選擇到那個版本嗎?
還是我哪裡理解錯誤呢? Orz
謝謝!
程式碼(Code):(請善用置底文網頁, 記得排版)
http://ideone.com/UQEChO
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.133.8.232
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1453981626.A.59C.html
→
01/28 19:53, , 1F
01/28 19:53, 1F
推
01/28 19:56, , 2F
01/28 19:56, 2F
→
01/28 19:56, , 3F
01/28 19:56, 3F
→
01/28 19:57, , 4F
01/28 19:57, 4F
→
01/28 19:58, , 5F
01/28 19:58, 5F
!! 以前學到傳void就一直這樣寫...原來那樣是C限定的 Orz 謝謝指教
→
01/28 19:58, , 6F
01/28 19:58, 6F
→
01/28 19:58, , 7F
01/28 19:58, 7F
推
01/28 19:59, , 8F
01/28 19:59, 8F
→
01/28 19:59, , 9F
01/28 19:59, 9F
厄..這個...對不起 Orz 打個Sample Code沒有仔細Check Orz
→
01/28 20:01, , 10F
01/28 20:01, 10F
看來我完全沒理解就在亂用了Orz
另外一篇比較長..我慢慢收著看。
※ 編輯: lovesnake (61.70.250.188), 01/28/2016 21:05:28
推
01/29 00:26, , 11F
01/29 00:26, 11F
→
01/29 00:42, , 12F
01/29 00:42, 12F
推
01/29 11:43, , 13F
01/29 11:43, 13F
推
01/31 17:09, , 14F
01/31 17:09, 14F