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