oOOMIAO 2013-01-13 18:27 采纳率: 10%
浏览 5615

ios测试宏指令出错:“Expected identefier”

写了一个简单的测试宏指令,然后在下面代码中报错,不知道怎么修复?谢谢

#define test(condition) do{\
    if (condition)
    {\        //// <-----Expected identifier or (
        NSlog @"passed: " %@ #condtion); \

    }
    else
    {\
        NSLog(@"failed: " @ #condition); \

    }
}   //// <-----extraneous closing brace ( "}")
  • 写回答

2条回答 默认 最新

  • vikeyToy 2013-01-13 19:21
    关注

    简单方法:

    #define test(condition) NSLog("%s: %s\n", condition ? "Passed" : "Failed", #condition);
    

    调用:

    int i = 6;
    test(i > 8);
    test(i < 8);
    

    输出:

    Failed: i > 8
    Passed: i < 8
    
    评论
  • prettYYoyic 2013-01-13 19:34
    关注

    你应该在每行宏指令的末尾加一个反斜杠,最后一个不用加

    #define test(condition) do{\
        if (condition) \
        {\
            NSlog @"passed: " %@ #condtion); \
        } \
        else \
        { \
            NSLog(@"failed: " @ #condition); \
        } \
    }
    
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部