这是我定制的 NSLog。
#define NSLog(fmt, ...) printf("🌳🌳🌳%s,%d\n %s\n\n", __PRETTY_FUNCTION__, __LINE__, [NSString stringWithFormat:fmt, ##__VA_ARGS__].UTF8String)
这个日志在另一个项目上运行良好,但是在当前项目编译时出现4个错误。如果使用__VA_ARGS__
,比如#define NSLog(...) NSLog(__VA_ARGS__)
,它会编译成功。我认为这可能是 Building Setting
造成的。
任何人都可以帮助我解决这个问题。
最佳答案
检查声明此导入 Foundation 的头文件。检查您是否也没有在其他地方定义 NSLog,最后,重新定义 NSLog 确实不是一个好主意。您可能最好采用日志记录框架或像这样定义自己的框架:
#define MELog(fmt, ...) NSLog("🌳🌳🌳%s,%d\n %s\ ....
关于ios - 使用 ##__VA_ARGS__ 时 Xcode 编译器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43462929/