看板 C_and_CPP 關於我們 聯絡資訊
我嘗試把 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
sunneo:不過說實在的這只是逃避compiler的錯誤 04/30 14:34
※ 編輯: sunneo 來自: 114.39.200.102 (04/30 15:05)
chrisdar: return (const T&)(m_x1 + m_width); 我想起兩個方法 04/30 15:14
chrisdar: return static_cast<const T&>(m_x1 + m_width); 04/30 15:14
chrisdar: 說真的 這只是逃避compiler的錯誤 04/30 15:14
sunneo:喔喔 這個我沒辦法在我的mingw使用 因為這個warning 04/30 15:41
sunneo:不讓我過 但用建構子就過了 不曉得怎會有這樣的差別 04/30 15:42
sunneo:但結果不是對的 回傳後結果會一團亂 04/30 15:47
legnaleurc:當你對編譯器撒謊, 它會對你復仇? XD 04/30 16:14
chrisdar: ^^ 這個經典 04/30 16:38
chrisdar:根據各方的意見 決定採用(#19-JrOLY)方法二 04/30 18:20
sunneo:我發現他有改變val值,但傳回getx2的是未改變的val值... 04/30 19:00