在标题中调用的宏生成“预期标识符或'('”

时间:2013-05-10 03:14:21

标签: ios objective-c macros parse-error

CGRectDivideWithPadding文件中调用.h宏时如下:

CG_INLINE
void CGRectDivideWithPadding(CGRect rect, CGRect *slicePtr, CGRect *remainderPtr, CGFloat sliceAmount, CGFloat padding, CGRectEdge edge)
{
    CGRectDivideWithUsefulPadding(rect, slicePtr, remainderPtr, nil, sliceAmount, padding, edge);
}

它会产生Expected identifier or '('错误。

宏从此处.m展开:

#define CGRectDivideWithPadding(RECT, SLICE, REMAINDER, AMOUNT, PADDING, EDGE) \
    do { \
        CGRect _slice, _remainder; \
        CGRectDivideWithPadding((RECT), &_slice, &_remainder, (AMOUNT), (PADDING), (EDGE)); \
        \
        _MEDAssignToRectByReference(SLICE, _slice); \
        _MEDAssignToRectByReference(REMAINDER, _remainder); \
    } while (0)

这里的语法是否有问题,我没有看到?或者其他地方的问题?我该如何解决这个问题?

0 个答案:

没有答案