看板 C_and_CPP 關於我們 聯絡資訊
請問一下 void test (int a,int b){ e=a+b } 誇號ab 這樣寫可以代兩個參數進去, 今天使用者輸入a b c可能就不能用了, 不曉得有沒有寫法可以解決這問題 常遇到這問題,如我SPI要輸出一對資料, 我建一個test(char a),但10筆呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.15.192 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1480921527.A.CD2.html
uranusjr: 可以用 varargs 但你還是得想個方法知道總共有幾個 12/05 15:08
CoNsTaR: 你可以做資料結構啊兄弟,type 一樣的話也有 array 可以 12/05 15:14
CoNsTaR: 用啊 12/05 15:14
Schottky: 變動參數不如array方便 12/05 15:34
Schottky: 非要這樣幹就照一樓說的吧 12/05 15:35
Schottky: 一般我只會在仿製printf風格時會用varargs 12/05 15:36
Yshuan: 如果就只有a,b和a,b,c的話 直接overloading就好 12/05 15:57
Caesar08: parameter pack? 12/05 16:40
uranusjr: 他下面又舉了一個十筆的例子我覺得 overloading 不是解 12/05 16:40
uranusjr: 雖然也是有人這樣搞啦, Qt 就常搞這種只有參數數量不一 12/05 16:42
uranusjr: 樣的重載, 然後一次就十個... 12/05 16:42
pttworld: 需要STL的容器,一定知道size,函式內處理。 12/05 17:11
pili100: 推一F,用varargs 12/05 17:58
chuegou: 使用者輸入abc?意思是你這個function的實作 12/05 19:09
chuegou: 不想給人看到嗎? 12/05 19:09
firejox: 用macro啊 12/06 00:21
MOONRAKER: (1)到底是誰要使用。(2)array卡實在。 12/06 10:39
hunandy14: 阿 是上次會唱歌的月亮 12/06 14:48
MOONRAKER: 不是 那是幻覺 12/14 11:00