→ sunneo:既然是clone,得到的應該是可寫入的實體吧 01/19 14:47
→ sunneo:不過你犯的是沒有看compilation-error的訊息 01/19 14:47
47 C:\Documents and Settings\..\桌面\main.cpp invalid initialization of
reference of type 'sysop&' from expression of type 'const sysop'
好像是說 錯誤的初始化 @_@?
可是我看書 他說這樣的方法 可行,但是我打上去,他就error了....
所以我才想問一下 為什麼會錯誤...謝謝
※ 編輯: pharaoh7 來自: 218.171.58.43 (01/19 14:53)
→ james732:同意樓上 其實錯誤訊息應該有告訴你答案了 01/19 14:55
→ james732:sysop & jolly <== 那個 & 是多餘的 01/19 14:56
→ pharaoh7:傳回型態 不是const reference 為啥這樣會錯誤啊>< 01/19 15:05
→ pharaoh7:不能把jolly取 別名嗎... 01/19 15:06
→ sunneo:ref的初始化不能是const ref 01/19 15:06
→ sunneo:因為ref是可寫的, const ref是唯獨的 01/19 15:07
→ sunneo: ^讀 01/19 15:07
→ sunneo:但如果main的sysop&宣告為sysop 他就是得到一份複製 01/19 15:08
→ sunneo:但會使得原先的const ref& 發生mem leak 01/19 15:08
→ sunneo:所以你可以將main的改為const sysop&,或者將clone改sysop& 01/19 15:09
→ pharaoh7:非常謝謝sunneo大的解說,看了您的解說 我懂了^^ 謝謝 01/19 15:13