2012-02-04 75 views
-1

我聲明瞭一個結構如下:如何在範圍內的結構中保存一個數組?

struct Hex 
{ 
    CGPoint center; 
    CGPoint points[6]; 
    CGFloat width; 
    CGFloat sideLength; 
}; 

我有一個初始化十六進制,並返回它,像這樣(CGPointMake的內容調用略去了)工廠方法:

struct Hex hex = 
{ 
    CGPointMake(..), 
    { 
     CGPointMake(..), 
     CGPointMake(..), 
     CGPointMake(..), 
     CGPointMake(..), 
     CGPointMake(..), 
     CGPointMake(..) 
    }, 
    width, 
    S 
}; 

return hex; 

如果我在退貨聲明中檢查並檢查hex,我看到第一個成員CGPoint center完好無損,但數組的元素全部列爲「超出範圍」。

我該如何構建並返回這個結構,使其數組成員的內容將會持久?

回答

1

這個「超出範圍」只是談論調試器顯示自動跟蹤的內容,而不是構建錯誤(假設您使用調試信息構建)。

幸運的是,您可以告訴gdb評估表達式。例如,如果您處於執行中'hex'可見的位置,請單擊xcode調試器中的GDB提示並鍵入「print hex.points [0]」,它應該爲您提供值。

+0

你是絕對正確的 - 現在我知道依靠提示符和本地窗口而不是調試器工具提示。謝謝。 :) – 2012-02-04 16:30:03

相關問題