我有一个看起来像这样的方法:
static inline float average(int numbers, ...) {
}
你如何使用for循环来获得我投入数字的所有价值。例如:
average(1, 3, 5, 7);
答案 0 :(得分:7)
你做不到。如果要使用可变参数,则需要一种获取参数数量的机制。大多数情况下,它是从第一个非变量参数推断出来的。这就是printf
和家人的工作方式。
对于你的例子,我个人不会打扰可变参数。如果您想要将average
这样的数学函数应用于一个或多个参数,只需使用向量:
static inline float average(const int* numbers, int size)
如果您坚持使用可变参数函数,这些将帮助您入门: