Как мне сохранить массив внутри структуры в области видимости? - PullRequest
0 голосов
/ 04 февраля 2012

Я объявил структуру следующим образом:

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 - не поврежден, но все элементы массива перечислены как «Out of scope».

Как я могу построить и вернуть эту структуру так, чтобы содержимое ее элемента массива сохранялось?

1 Ответ

1 голос
/ 04 февраля 2012

Это «выходит за рамки» просто говорит о том, что дисплей отладчика автоматически отслеживает, и не является ошибкой вашей сборки (при условии, что вы собрали с отладочной информацией).

К счастью, вы можете сказатьGDB для оценки выражений.

Например, если вы находитесь в точке выполнения, где отображается «hex», щелкните по подсказке GDB в отладчике xcode и введите «print hex.points [0]»и это должно дать вам значение.

...