看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 2010 問題(Question): 最近寫新的功課,遇到一個小問題,但卻困擾我很久...... 我直接把程式碼打在上面好了0.0 現在有一個程式碼,裡面有兩個 class,一個是 VectorCpx、一個是 Complex VectorCpx 裡的成員函式之中,有一個是 resize(unsigned a, const Complex& b) 它的功能是把 vector 裡面前 a 個位置都填入 b,如果呼叫時沒有給 b 則填0 -------------------------------------- 這段是main裡面的其中一段: VectorCpx v1; VectorCpx v2; v1.resize(10); v2.resize(8, Complex(0.1, 0.5)); -------------------------------------- v1.resize(10) 會有錯誤,因為函式呼叫的引數太少 我可以再寫一條 resize(unsigned a) 來解決這個問題 但這代表幾乎一模一樣的函式要寫兩次,感覺沒什麼效益,助教也跟我講說可以只寫一個 請問有沒有什麼辦法,可以讓程式在跑時避開這個問題 不知道這樣講的夠不夠清楚...... 如果不清楚的話我再把整個程式碼貼在codepad上0.0 感謝大家 m(_ _)m --
gcobc12632 :一樓帥哥11/04 22:52
maple0935 :二樓帥哥11/04 22:52
howar31 :二樓帥哥11/04 22:52
howar31 :..11/04 22:52
maple0935 :五樓吃屎 11/04 22:53
maple0935 :幹 可以不要當簽名檔嗎... 11/04 22:53
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.35.4
hilorrk:default value 04/10 15:28
o07608:照理來說應該是這樣......可是怎麼還是錯的,囧 04/10 15:50
azureblaze:resize(a){ resize(a, Complex(0,0)); } 04/10 15:56
請問這句是什麼意思0.0?那本身的程式碼要寫在哪裡? ※ 編輯: o07608 來自: 220.133.35.4 (04/10 15:57)
xx52002:給預設引數呢 0.0 04/10 16:14
xx52002:resize(unsigned a, const Complex& b = Complex(0, 0)) 04/10 16:14
MOONRAKER:再寫一遍阿 overload咧 04/10 16:15
xx52002:啊原來有人講了 XD 04/10 16:15