В каком формате должны быть напечатаны перечисления?%какие? - PullRequest
1 голос
/ 19 ноября 2011

Эта строка кода заставляет компилятор жаловаться и входит в режим отладки.

NSLog(@"Attacker card: %@", [attackerCard suit]);

Интересно, связано ли это с тем, что suit - это значение enum, объявленное как

@property (assign) Suit suit;

Где Suit объявлено как

typedef enum {
    CLUBS, DIAMONDS, HEARTS, SPADES
} Suit;

Что-то не так с форматом или проблема в другом месте?

1 Ответ

5 голосов
/ 19 ноября 2011

Конкретный размер перечисляемого типа определяется реализацией, но это всегда целочисленный тип, поэтому %d будет работать большую часть времени. Если вам нужно, чтобы он был очень надежным, вам нужно протестировать sizeof(Suit) и выбрать формат, основанный на этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...