0

va_start如果我不传递任何可变参数,该函数如何工作?

例子:

void check_varargs(char *test, ...)
{
    va_list args;
    // What happens here if there are no variable arguments provided as in line 9?
    va_start(args, test);
    va_end(args);
}
int main()
{
    check_varargs("testing 0 variable parameters"); // line 9
    check_varargs("testing 1 variable parameters", 1);
}

我正在使用一个静态代码分析工具,它给了我一个错误,va_end说不正确的 sizeof 表达式。我不确定错误是什么意思,但我怀疑这是因为第 9 行的函数调用。请帮忙。

4

0 回答 0