如何将可变数量的参数从一个函数传递到另一个函数?

2023-12-20

有没有办法直接将可变数量的参数从一个函数传递到另一个函数?

我想实现一个最小的解决方案,如下所示:

int func1(string param1, ...){
  int status = STATUS_1;
  func2(status, param1, ...);
}

我知道我可以使用如下所示的方法来完成此操作,但是此代码将被重复多次,因此我希望使其尽可能简单,同时保持函数调用非常短

int func1(string param1, ...){
  int status = STATUS_1;
  va_list args;
  va_start(args, param1);
  func2(status, param1, args);
  va_end(args);
}

Thanks!


不,你必须使用va_list按照你的第二个例子。

它只是 3 行额外代码,如果你想避免重复这些行,并且 func2 始终相同,或者至少采用相同的参数,请用它制作一个宏。

#define CALL_MY_VA_FUNC(func,param) do {\
        va_list args; \
        va_start(args,param);\
        func(param,param,args);\
        va_end(args); } while(0)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将可变数量的参数从一个函数传递到另一个函数? 的相关文章

随机推荐

  • 不要让 GraphViz 和 phpDocumentor 工作

    我正在尝试使用 phpDocumentor phar v2 在本地 XAMPP 主机 在 Windows 7 上 上创建 php 文档 它给了我 解析所有文件后 此错误 无法找到dotGraphViz 包的命令 GraphViz 是否正确安
  • LINQ 中 select 和 where 之间的区别[重复]

    这个问题在这里已经有答案了 可能的重复 Linq Select 和Where 之间有什么区别 https stackoverflow com questions 1212746 linq what is the difference bet
  • 如何使用 Javascript 设置 qualtrics 中的嵌入数据

    我似乎无法找到有关如何在 Qualtrics 中使用 javascript 设置嵌入数据的答案 这是我所拥有的 Qualtrics SurveyEngine addOnload function Qualtrics SurveyEngine
  • 如何反转音频文件?

    我想在 iOS 上反转现有的音频文件 例如 WAV CAF 关于如何实现这一目标有什么建议吗 开源库 我开发了一个示例应用程序 它记录用户所说的话并向后播放 我使用 CoreAudio 来实现这一点 链接到应用程序代码 由于每个样本的大小为
  • 重新定位画布控件

    我有三列的网格 布局就像 单选按钮 画布控制 单选按钮 对于我的应用程序的某些功能 我需要截取画布功能的当前视图的屏幕截图并保存到文件中 我正在使用以下方法将画布保存到 bmp 在其中测量和排列画布 我的问题是保存图像后 原始网格中的画布位
  • C# DataContractSerializer SerializationException,在对象字段中设置了 Enum

    鉴于以下代码 DataContract public class TestClass DataMember public object TestVariable public TestClass object value TestVaria
  • 在reactjs中将数据子级传递给父级功能组件

    如何在 React 中将数据从子功能组件传递到父功能组件 我想要从父组件传递到子组件的vehicle drive 数据 但是子组件获取我想要传递给父组件的特定数据条目 我在子组件中发表了评论 显示了我希望将数据恢复到哪里 父组件 impor
  • Java应用程序中的SSH具有“预期”之类的功能[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 通过 expect 人们可以执行 SSH 命令并解析这些命令的输出以改变程序流程 我想用 Java 来做这个 也就是说 我希望我的 Java
  • 使用 React JS 无限滚动

    我正在研究用 React 实现无限滚动的方法 我遇到过反应无限滚动 https github com guillaumervls react infinite scroll发现它效率低下 因为它只是将节点添加到 DOM 中 而没有删除它们
  • 根据键、值对设置组合框的选定项。

    我有一个组合框 如下所示 this reqTypeInput Items Add new RequestType Label 1 Value1 this reqTypeInput Items Add new RequestType Labe
  • 节点js。 npm 安装后找不到 gulp

    我有这个 git 仓库 https github com mschwarzmueller angular 2 introduction https github com mschwarzmueller angular 2 introduct
  • Silverlight+WCF异常:期望应用程序/soap+xml,收到文本/xml

    我有一个 Silverlight 应用程序 我想在其中调用 WCF 服务 调用该服务时 我收到来自服务器的以下响应 415 无法处理消息 因为内容类型为 text xml charset utf 8 不是预期的类型 application
  • 从 Fluent Nhibernate 生成 XML 映射

    如何生成 xml 映射文件作为 MappingIntegrationTests 中测试的一部分 我需要手动检查流畅映射是否与遗留项目中的映射相关 你可以这样做 config Mappings m gt m FluentMappings Ex
  • 在 cp1252 上强制使用 UTF-8 (Python3)

    我编写了一些使用 Biopython Entrez 包装器的代码 代码在我以前的 Win10 笔记本电脑 Python 3 5 1 上运行良好 但我刚刚将代码移植到安装了相同版本的每个包和 Python 的新 Win10 笔记本电脑上 现在
  • 关联/随机访问容器

    我正在寻找一种数据结构来保存唯一元素的无序集合 它将支持以下操作 集合中任意位置的元素插入 删除 查询元素是否存在 访问随机元素 天真地 1 和 2 建议使用关联容器 例如unordered set 但 3 的元素数量是线性的 使用随机访问
  • 如何在 Google Maps API 中使信息窗口可编辑?

    我想在单击信息窗口时使其可编辑 这是我的代码
  • 突出显示CSS网格[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有 CSS 网格 div style display grid class scEnabledChrome div when I
  • 如何指定列表选择方法?

    我有一个计算列表的方法 在算法中的某些点 需要从列表中选择单个元素 选择哪个元素并不重要 但我想将其留给用户来决定 现在 我添加了一个扩展方法IList
  • 使用 jQuery 检测 iPhone 滑动

    我只是在寻找一个能够检测手指在触摸设备上滑动的监听器 例如 if swipe direction left function 通过 jQueryMobile 您可以使用多个事件 例如swipe 甚至swipeleft swiperight
  • 如何将可变数量的参数从一个函数传递到另一个函数?

    有没有办法直接将可变数量的参数从一个函数传递到另一个函数 我想实现一个最小的解决方案 如下所示 int func1 string param1 int status STATUS 1 func2 status param1 我知道我可以使用