【发布时间】:2015-11-13 16:37:03
【问题描述】:
我创建了可变参数方法的 va_list 版本:
+(void)myFunc:(NSString *)message args:(va_list)args;
并创建了调用上述函数的宏TESTLOG
#define TESTLOG(x,...) [MyExample myFunc:(x), ##__VA_ARGS__]
问题是当我尝试调用TESTLOG 宏时,我得到一个错误:
TESTLOG("test");
TESTLOG(@"test",@"test1");
预期的表达方式
我该如何解决这个问题?我尝试用... 替换args:(va_list)args,它正在工作,但就我而言,我需要使用va_list 和宏。
我认为我的问题在于宏中的定义。
【问题讨论】:
标签: objective-c macros variadic-functions