質問するログイン新規登録

回答編集履歴

1

appendix

2017/06/02 13:58

投稿

yohhoy
yohhoy

スコア6191

answer CHANGED
@@ -49,4 +49,22 @@
49
49
  int sum = func(1, 2, 3);
50
50
  printf("%d\n", sum);
51
51
  }
52
- ```
52
+ ```
53
+
54
+ ---
55
+ おまけ:[最新のC++機能](http://faithandbrave.hateblo.jp/entry/2016/12/07/185947)をつかうと下記のように書くこともできます。(もはや"個数"が不要なのですが、必要なら`sizeof...(args)`で取得可能です)
56
+
57
+ ```C++
58
+ #include <stdio.h>
59
+
60
+ template<typename... Ts>
61
+ int func(Ts... args) {
62
+ //printf("count=%zu\n", sizeof...(args));
63
+ return (args + ...);
64
+ }
65
+
66
+ int main() {
67
+ int sum = func(1, 2, 3);
68
+ printf("%d\n", sum);
69
+ }
70
+ ```