[問題] 函式中呼叫的引數太少

看板C_and_CPP作者 (無良記者)時間11年前 (2013/04/10 15:23), 編輯推噓1(106)
留言7則, 5人參與, 最新討論串1/2 (看更多)
開發平台(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 --

11/04 22:52,
一樓帥哥
11/04 22:52

11/04 22:52,
二樓帥哥
11/04 22:52

11/04 22:52,
二樓帥哥
11/04 22:52

11/04 22:52,
..
11/04 22:52

11/04 22:53,
五樓吃屎
11/04 22:53

11/04 22:53,
幹 可以不要當簽名檔嗎...
11/04 22:53
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.35.4

04/10 15:28, , 1F
default value
04/10 15:28, 1F

04/10 15:50, , 2F
照理來說應該是這樣......可是怎麼還是錯的,囧
04/10 15:50, 2F

04/10 15:56, , 3F
resize(a){ resize(a, Complex(0,0)); }
04/10 15:56, 3F
請問這句是什麼意思0.0?那本身的程式碼要寫在哪裡? ※ 編輯: o07608 來自: 220.133.35.4 (04/10 15:57)

04/10 16:14, , 4F
給預設引數呢 0.0
04/10 16:14, 4F

04/10 16:14, , 5F
resize(unsigned a, const Complex& b = Complex(0, 0))
04/10 16:14, 5F

04/10 16:15, , 6F
再寫一遍阿 overload咧
04/10 16:15, 6F

04/10 16:15, , 7F
啊原來有人講了 XD
04/10 16:15, 7F
文章代碼(AID): #1HPHEB2p (C_and_CPP)
文章代碼(AID): #1HPHEB2p (C_and_CPP)