当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)
我没有看到这里的语法有什么问题吗?还是其他地方的问题?我怎样才能清除这个?