我正在设计一个Padding结构如下:
/* Padding. */
struct CGPadding {
CGFloat left;
CGFloat top;
CGFloat right;
CGFloat bottom;
};
typedef struct CGPadding CGPadding;
CG_INLINE CGPadding CGPaddingMake(CGFloat left, CGFloat top, CGFloat right, CGFloat bottom) { CGPadding p; p.left = left; p.top = top; p.right = right; p.bottom = bottom; return p; }
这一切都运行得很好,问题是如何创建一个const CGPadding CGPaddingZero?如果我喜欢这样:
const CGPadding CGPaddingZero = (CGPadding){0.0, 0.0, 0.0, 0.0};
它不起作用。那么我做错了什么?
答案 0 :(得分:0)
我发现这非常有趣,因为我一直在iPhone上做它并且它工作正常。可能它与typedef之后的同名有关吗?如果你摆脱了typedef并定义你的结构怎么办?
typedef struct CGPadding {
CGFloat left;
CGFloat top;
CGFloat right;
CGFloat bottom;
} CGPadding;
那么它有效吗?此外,由于浮动的所有0都是零,而你整个零件都是零,你可以说
const CGPadding CGPaddingZero = {0};
我一直在iPhone上做这些事情,所以如果它不适合你,我会感到非常惊讶。