作者:
GooLoo (平凡)
2016-12-05 15:05:24請問一下
void test (int a,int b){
e=a+b
}
誇號ab 這樣寫可以代兩個參數進去,
今天使用者輸入a b c可能就不能用了,
不曉得有沒有寫法可以解決這問題
常遇到這問題,如我SPI要輸出一對資料,
我建一個test(char a),但10筆呢?
作者:
uranusjr (â†é€™äººæ˜¯è¶…級笨蛋)
2016-12-05 15:08:00可以用 varargs 但你還是得想個方法知道總共有幾個
作者:
CoNsTaR ((const *))
2016-12-05 15:14:00你可以做資料結構啊兄弟,type 一樣的話也有 array 可以用啊
變動參數不如array方便非要這樣幹就照一樓說的吧一般我只會在仿製printf風格時會用varargs
作者:
Yshuan (倚絃)
2016-12-05 15:57:00如果就只有a,b和a,b,c的話 直接overloading就好
作者:
Caesar08 (Caesar)
2016-12-05 16:40:00parameter pack?
作者:
uranusjr (â†é€™äººæ˜¯è¶…級笨蛋)
2016-12-05 16:40:00他下面又舉了一個十筆的例子我覺得 overloading 不是解雖然也是有人這樣搞啦, Qt 就常搞這種只有參數數量不一樣的重載, 然後一次就十個...
作者:
pttworld (批踢踢世界)
2016-12-05 17:11:00需要STL的容器,一定知道size,函式內處理。
作者:
pili100 (zelda)
2016-12-05 17:58:00推一F,用varargs
作者:
chuegou (chuegou)
2016-12-05 19:09:00使用者輸入abc?意思是你這個function的實作不想給人看到嗎?
作者:
firejox (Tangent)
2016-12-06 00:21:00用macro啊
作者:
hunandy14 (Charlott.HonG)
2016-12-06 14:48:00阿 是上次會唱歌的月亮