gpt4 book ai didi

c - 在可变参数宏中引用特定参数

转载 作者:太空宇宙 更新时间:2023-11-04 07:22:29 25 4
gpt4 key购买 nike

关于计算传递给可变参数宏的实际参数数量的 SE 有几个问题和答案。这个问题似乎有一个规范的解决方案,其变体在答案中重复出现。

我的问题是,是否可以(以安全的方式)引用列表中的特定参数?例如,如果宏定义为:

#define MACRO(...) { some code involving __VA_ARGS__ }

是否有一种方法可以引用列表中的第二个参数(例如 __VA_ARG_1__),假设我们知道它实际上已通过?如果我们不知道它是否通过了怎么办?

最佳答案

你可以试试这个:

#define GET_SECOND(x, y, ...) (y)
#define MACRO(...) { some_code_using(GET_SECOND(__VA_ARGS__)); }

如果您使用太少的参数调用 MACRO,您将收到一条合适的错误消息。

关于c - 在可变参数宏中引用特定参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20555039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com