此问题已经在这里有了答案:
我想在函数中接收无限个参数并返回所有这些数字的和。
我正在使用stdarg.h库,并实现了我的sum函数,如下所示:
int sum(int n_args, ...)
{
int sum = 0;
va_list ap;
va_start(ap, n_args);
for(int i = 0; i < n_args; i++)
{
sum += va_args(ap);
}
va_end(ap);
return sum;
}
当我尝试编译时,出现以下错误:
错误:'int'之前的预期主表达式
错误:在此范围内未声明'va_args'
va_args(ap)
应该是
va_arg(ap, int)