Re: [問題] 物件繼承與實作的問題 問題在文末

看板C_and_CPP作者 (艾斯寇德)時間15年前 (2009/04/30 14:32), 編輯推噓3(308)
留言11則, 3人參與, 最新討論串2/3 (看更多)
我嘗試把 StartSameWidthLine::GetX2改成如下 inline const T& GetX2() const { struct TWrapper{ typedef const T& constTref; T val; operator constTref(){ return val; } TWrapper(const T& t1,const T& t2){ val = t1+t2; } }; return TWrapper(m_x1,m_width); } 於是就過了@@ 不過另外一個inline pure virtual的警告可能只能把inline拿掉了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.39.200.102

04/30 14:34, , 1F
不過說實在的這只是逃避compiler的錯誤
04/30 14:34, 1F
※ 編輯: sunneo 來自: 114.39.200.102 (04/30 15:05)

04/30 15:14, , 2F
return (const T&)(m_x1 + m_width); 我想起兩個方法
04/30 15:14, 2F

04/30 15:14, , 3F
return static_cast<const T&>(m_x1 + m_width);
04/30 15:14, 3F

04/30 15:14, , 4F
說真的 這只是逃避compiler的錯誤
04/30 15:14, 4F

04/30 15:41, , 5F
喔喔 這個我沒辦法在我的mingw使用 因為這個warning
04/30 15:41, 5F

04/30 15:42, , 6F
不讓我過 但用建構子就過了 不曉得怎會有這樣的差別
04/30 15:42, 6F

04/30 15:47, , 7F
但結果不是對的 回傳後結果會一團亂
04/30 15:47, 7F

04/30 16:14, , 8F
當你對編譯器撒謊, 它會對你復仇? XD
04/30 16:14, 8F

04/30 16:38, , 9F
^^ 這個經典
04/30 16:38, 9F

04/30 18:20, , 10F
根據各方的意見 決定採用(#19-JrOLY)方法二
04/30 18:20, 10F

04/30 19:00, , 11F
我發現他有改變val值,但傳回getx2的是未改變的val值...
04/30 19:00, 11F
文章代碼(AID): #19-KOCOo (C_and_CPP)
文章代碼(AID): #19-KOCOo (C_and_CPP)