【发布时间】:2014-12-23 19:53:57
【问题描述】:
代码运行良好,但 gcc 和 clang 在 va_start 上报告了一个问题
stackoverflow 说要我多写点东西,但我真的不知道是什么 =)
int Matrix_cool_input (matrix *A, ... )
{
int num = A->m * A->n;
va_list arguments;
va_start (arguments, num);
int i,j;
int rc = 0;
double v;
for (int x = 0; x < num; x++)
{
i = x / A->m;
j = x % A->n;
v = va_arg ( arguments, double );
rc |= Matrix_set(A,i,j, v);
}
va_end(arguments);
return rc;
}
【问题讨论】:
-
A是可变参数...decl 之前的最后一个命名参数。你为什么要传递'num',一个局部自动变量?请参阅va_start了解它应该如何使用。
标签: c function variables gcc warnings