[問題] 參數會變

看板C_and_CPP作者 (平凡)時間9年前 (2016/12/05 15:05), 編輯推噓5(5014)
留言19則, 11人參與, 最新討論串1/1
請問一下 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

12/05 15:08, , 1F
可以用 varargs 但你還是得想個方法知道總共有幾個
12/05 15:08, 1F

12/05 15:14, , 2F
你可以做資料結構啊兄弟,type 一樣的話也有 array 可以
12/05 15:14, 2F

12/05 15:14, , 3F
用啊
12/05 15:14, 3F

12/05 15:34, , 4F
變動參數不如array方便
12/05 15:34, 4F

12/05 15:35, , 5F
非要這樣幹就照一樓說的吧
12/05 15:35, 5F

12/05 15:36, , 6F
一般我只會在仿製printf風格時會用varargs
12/05 15:36, 6F

12/05 15:57, , 7F
如果就只有a,b和a,b,c的話 直接overloading就好
12/05 15:57, 7F

12/05 16:40, , 8F
parameter pack?
12/05 16:40, 8F

12/05 16:40, , 9F
他下面又舉了一個十筆的例子我覺得 overloading 不是解
12/05 16:40, 9F

12/05 16:42, , 10F
雖然也是有人這樣搞啦, Qt 就常搞這種只有參數數量不一
12/05 16:42, 10F

12/05 16:42, , 11F
樣的重載, 然後一次就十個...
12/05 16:42, 11F

12/05 17:11, , 12F
需要STL的容器,一定知道size,函式內處理。
12/05 17:11, 12F

12/05 17:58, , 13F
推一F,用varargs
12/05 17:58, 13F

12/05 19:09, , 14F
使用者輸入abc?意思是你這個function的實作
12/05 19:09, 14F

12/05 19:09, , 15F
不想給人看到嗎?
12/05 19:09, 15F

12/06 00:21, , 16F
用macro啊
12/06 00:21, 16F

12/06 10:39, , 17F
(1)到底是誰要使用。(2)array卡實在。
12/06 10:39, 17F

12/06 14:48, , 18F
阿 是上次會唱歌的月亮
12/06 14:48, 18F

12/14 11:00, , 19F
不是 那是幻覺
12/14 11:00, 19F
文章代碼(AID): #1OHH6tpI (C_and_CPP)