我已经声明了一个结构如下:
struct Hex
{
CGPoint center;
CGPoint points[6];
CGFloat width;
CGFloat sideLength;
};
我有一个初始化Hex的工厂方法并返回它,就像这样(为了简洁省略了CGPointMake调用的内容):
struct Hex hex =
{
CGPointMake(..),
{
CGPointMake(..),
CGPointMake(..),
CGPointMake(..),
CGPointMake(..),
CGPointMake(..),
CGPointMake(..)
},
width,
S
};
return hex;
如果我在return语句处中断并检查hex
,我看到第一个成员 - CGPoint center
- 完好无损,但数组的元素都被列为“超出范围”。
如何构建并返回此结构,以使其数组成员的内容保持不变?
答案 0 :(得分:1)
这个“超出范围”只是讨论调试器显示器自动跟踪的内容,而不是构建的错误(假设您使用调试信息构建)。
幸运的是,您可以告诉gdb评估表达式。
例如,如果您处于可执行“十六进制”的执行点,请单击xcode调试器中的GDB提示符并键入“print hex.points [0]”,它应该为您提供值。