变量arg函数和错误

时间:2017-04-16 21:22:35

标签: c

我有一个带有以下签名的变量arg函数 -

int G(int a,char * b,int c,...);

如果他们愿意,调用者可以传入一个选项int d。如果不是,我们使用d的默认值。

(a,b,c)和d之间没有关系。我的意思是,参数a,b或c都没有告诉我d是否要传入。

在我的代码中,我正在这样做 -

mysqli_error($con);

如果调用者只传入a,b和c(只有三个参数),va_arg()函数是否可以返回垃圾值?

1 个答案:

答案 0 :(得分:1)

是的,为不存在的参数调用va_arg是Undefined Behavior,因此您可能会获得垃圾值,崩溃或任何内容。 varargs函数必须知道其可变参数的数量和类型。