【问题标题】:objective-c macro for a variadic function可变参数函数的objective-c宏
【发布时间】:2010-07-27 02:49:11
【问题描述】:

这是我想要实现的一个示例。我正在尝试创建一个宏,如下所示:

SOMEMACRO(obj, obj, obj, ..., obj);

宏将编译为:

some_function(obj, obj, obj, ..., obj, SOMETHING_ELSE, SOMETHING_ELSE);

这是一个 1 参数函数的示例宏:

#define SOMEMACRO(x) some_function(x, SOMETHING_ELSE, SOMETHING_ELSE)

但它只适用于一个参数 (x)

所以基本上我需要同样的东西,但这样我就可以传递一个可变数量的参数。如果编译器采用 ( 和 ) 之间的任何内容并简单地将 X 替换为它,那就太好了。我不确定我是否非常清楚这个问题,但我希望你能理解。

感谢您的帮助。

【问题讨论】:

    标签: objective-c macros variadic-functions


    【解决方案1】:
    #define SOMEMACRO(...) some_func(__VA_ARGS__, SOMETHING_ELSE, SOMETHING_ELSE);
    

    【讨论】:

      【解决方案2】:

      对不起,我想我放弃搜索太早了。回答我自己的问题:

      可变参数函数的宏如下所示:

      #define MACRONAME(...) some_function(__VA_ARGS__, SOMETHING_ELSE, SOMETHING_ELSE)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多