【发布时间】:2017-12-02 10:43:50
【问题描述】:
由于具有空参数列表的函数可以在 C 中传递可变数量的参数, 假设我有一个函数定义为:
void foo(){
// I want to access the parameters passed in here
}
我用参数来称呼它,比如说
foo(1,2,3);
我是否可以在我的 foo() 函数中获取那些传递参数的值?我希望类似于 $_ 的东西,Perl 中的默认变量。
编辑:我期待的行为就像这个问题中描述的那样:C function with no parameters behavior
【问题讨论】:
-
$_在 Perl 中不是这样工作的,我很确定函数调用具有未定义的行为。 -
正在寻找可变参数函数?
-
您链接到的问题包含以下评论:“@John 这意味着编译器不会检查参数的数量(或类型),但您仍然必须使用与参数匹配的参数调用函数在定义中。"
-
@alk 是的,这就是我要找的。span>
-
另一个问题中描述的行为是无限递归(可能是堆栈溢出)。请澄清你在说什么。