推 steve1012:compile不過嗎? 06/28 18:37
這邊 OK 了(只是 BCB 沒跳自動提示而已)
但後面 .getX() 無法成功編譯
用這種寫法就算可以 F.fa.getX(),但也無法 F.fa.setXYZ(1,2,3) 吧?
※ 編輯: noodleT (36.237.82.214), 06/28/2014 18:53:56
→ remizu:可以貼一下你的錯誤訊息嗎? 06/28 19:40
推 LPH66:你的敘述好像有一點打不到點...如果我沒猜錯的話 06/28 20:47
→ LPH66:你的問題應該將 getFa() 改成回傳 vector3& 即可解決 06/28 20:48
→ LPH66:你是想藉由 F.getFa() 來存取那裡面的 vector3 吧? 06/28 20:50
→ LPH66:這樣的話就不應該 return by value, 這會複製一份那個物件 06/28 20:50
→ noodleT:你說的沒錯,回傳vector3&還是有問題 06/28 22:18
→ Feis:這 code 看得有點頭痛. 不過錯誤訊息究竟是 ? 06/28 22:25
推 legendmtg:把F改成Jedi就能用了 (誤 06/28 22:38
推 Killercat:你的vector3沒有assign constructor吧我想 06/28 23:12
→ Killercat:打錯 copy constructor 06/28 23:12
推 LPH66:樓上是在 return by value 時才會有的問題 06/29 01:01
→ LPH66:是說改成回傳 ref 之後是什麼問題? 錯誤訊息能貼上來嗎? 06/29 01:02
完整程式碼:http://ideone.com/SZg3Uf (希望有比較清楚)
錯誤訊息(DEV C++):insufficient contextual information to determine type
※ 編輯: noodleT (36.237.82.214), 06/29/2014 01:14:13
推 Killercat:我漏了什麼typedef沒看到嗎 這仍然是return by value啊 06/29 01:41
推 steve1012:你的code打錯了啊 你要F.getF1().getX() 你的getF1 06/29 09:54
→ steve1012:沒有加 " () " 啊 06/29 09:55
→ steve1012:因為你的getX()左邊是 F.getF1 他會去找有沒有這種class 06/29 09:55
→ steve1012:因為沒有 所以他說他不知道怎麼決定type(錯誤訊息) 06/29 09:56