我正在尝试创建一个简单的测试宏,但以下几行出现错误。你们中的每个人都知道为什么或我如何修理它们?

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

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

    }
}   //// <-----extraneous closing brace ( "}")

最佳答案

多行宏的每行末尾都需要一个反斜杠(最后一行除外)。

#define test(condition) do{\
    if (condition) \
    {\
        NSlog @"passed: " %@ #condtion); \
    } \
    else \
    { \
        NSLog(@"failed: " @ #condition); \
    } \
}

关于iphone - ios测试宏错误“期望的标识符”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14310478/

10-13 02:24