推 legendmtg :聽不太懂你的意思...感覺像是D2的Foo改成 05/09 21:47
→ legendmtg :virtual void Foo(int a, int) 就好了... 05/09 21:47
推 dk3208 :把多出來的參數變成D1的member然後在建構子傳入如何? 05/09 22:55
→ dk3208 :或者如果參數a,b有相關性的話合成一個物件 05/09 22:57
→ darnoc :1F的作法只是把這個warning"藏"起來,並沒有解決問題 05/09 23:11
→ darnoc :dk的第二個建議,看起來可能要引入parameter object 05/09 23:13
→ darnoc :似乎可以改善這個問題,謝謝了 :) 05/09 23:14
→ darnoc :有沒有可能把原本的參數列,改為傳入heterogeneous 05/09 23:15
→ darnoc :container? 在不同的實做版本中自行拆解出所須變數? 05/09 23:16
→ qrtt1 :這沒有需要去除,它又不是用不到的暫時變數。 05/09 23:33
→ rofellosx :我不懂為什麼要除去.. 05/12 20:05
→ darnoc :唔,難道大家開發專案,沒有把warning level調到最高 05/14 00:04
→ darnoc :順便把 treat warnings as errors 打開嗎? 05/14 00:04
→ darnoc :其實比起去除warning,我更在意的是,這樣的設計,在 05/14 00:05
→ darnoc :某方面來說,總覺得有些壞味道,意味著設計不良? 05/14 00:05
→ qrtt1 :我們無法由單純的結構來判別bad smell 05/14 09:23
→ qrtt1 :如果你覺得是設計不良, 那最好與設計者討論語意 05/14 09:24
→ qrtt1 :單純就一個 library user 來說, 他沒用到那個參數 05/14 09:24
→ qrtt1 :而懷疑總體的設計是很詭異的 05/14 09:25
→ qrtt1 :因為一個只看到自己的需要, 一個要顧及總體需求 05/14 09:25
→ qrtt1 :我不並不執著你現在用的是int來做例子 05/14 09:26
→ qrtt1 :它可以是更複雜的類別. 05/14 09:26
→ qrtt1 :不過您覺得它是用不到的變數, 但重構只要求我們針對 05/14 09:29
→ qrtt1 :用不到的暫時性變數(通常是local),看結構比較接近的 05/14 09:29
→ qrtt1 :被拒絕的遺贈(refused bequest). 也許你可以參考一下 05/14 09:31