c - 将“...”参数传输到其他函数

标签 c parameters arguments

<分区>

有没有办法实现这个?

void func2(...) {
    /*
     * Handle „...” parameters
     */
}
void func1(int n, ...) {
    func2(...);
}

最佳答案

不,你不能。不能转发可变参数。您的选择是:

  • 让你的“内部”函数接受一个(n 已初始化)va_list 参数而不是 ... 并从调用者传递该列表;

  • 如果参数是相同的(或可转换的)类型,您可以让它接受一个数组,然后自己解析可变参数并将数组及其长度传递给被调用的函数。

关于c - 将“...”参数传输到其他函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20292324/

相关文章:

jsp - 将JSP参数从一个jsp传递到另一个jsp : code uses HIPPO

node.js - 在 Windows 上向 node.js 脚本传递一个带空格的参数

VBA:Sub 的 const 参数 - 避免修改按值传递的参数值

c# - 将断言输出从 dll 重定向到文件

c - 结构和文件处理

ruby-on-rails - 如何在 RoR 中调用方法并发送新参数?

jquery - 使用 jQuery ajax get 将 params 中的数据发送到 Rails 后端

c - C语言中的if else语法错误

将 uint8_t 数组转换为 uint16_t

python - 如何在 python 函数中的 'self' 旁边添加参数?