繁体   English   中英

在 Objective-C 中使用宏获取错误

[英]getting errors using macros in Objective-C

我是 Objective-C 的新手。 我正在尝试使用宏的示例程序并出现错误。

#import <Foundation/Foundation.h>

#define HELLO_WORLD @"Hello World"

#define a(x,y) ((x)+(y))

#define PRINTMAC(x,y)\
NSLog(@"%d",a((x),(y));\

int main (int argc, const char * argv[]) {
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

    // insert code here...
    //NSLog(@"%d",add(10,20));
    PRINTMAC(13,72);  //error:
    [pool drain];
    return 0;
} //error:

错误:预期';' 在 '}' 标记之前

您似乎在NSLog行(第 8 行)上缺少 )。

此外,我不确定您是否需要该行上的最后一个\\ ,因为宏没有被带到第三行。

最后,我认为你不需要; 在该行上,当您在第 15 行调用宏时,将它与分号结合会产生一个空语句(不过应该不会有害)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM