2012-02-04 18 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; 

私がreturn文で壊れてhexを調べると、最初のメンバー - CGPoint center - は元のままですが、配列の要素はすべて「範囲外」としてリストされています。

配列メンバーの内容が保持されるようにこの構造体を構築して返すにはどうすればよいですか?

答えて

1

この「範囲外」は、デバッガの表示が自動的に追跡されていることを話しているだけで、ビルドの障害ではありません(デバッグ情報で構築されていると仮定します)。

幸いにも、gdbに式を評価するように指示できます。

あなたは「進」は表示されている実行中のポイントである場合、例えば、Xcodeのデバッガおよびタイプ「印刷hex.points [0]」のGDBプロンプトをクリックすると、それはあなたの価値を与える必要があります。

+0

あなたは本当に正しいです - そして今私はデバッガのツールチップではなくプロンプトと地方のウィンドウに頼っていることを知っています。ありがとう。 :) –