Я хочу создать постоянный статический массив, который будет использоваться во всем файле реализации Objective-C, подобном тому, что находится на верхнем уровне моего файла ".m":
static const int NUM_TYPES = 4;
static int types[NUM_TYPES] = {
1,
2,
3,
4 };
Я планирую использовать NUM_TYPES
позже в файле, поэтому я хотел бы поместить его в переменную.
Однако, когда я это делаю, я получаю сообщение об ошибке
"Измененные переменные" типы "в области файлов"
Я понимаю, что это может иметь какое-то отношение к размеру массива, являющемуся переменной (я не получаю это сообщение, когда я помещаю туда целочисленный литерал, например static int types[4]
).
Я хочу исправить это, но, возможно, я все об этом ошибаюсь... У меня есть 2 цели:
- Чтобы иметь массив, доступный по всему файлу
- Чтобы инкапсулировать
NUM_TYPES
в переменную, поэтому у меня нет одного и того же литерала, разбросанного по разным местам в моем файле
Любые предложения?
[EDIT] Найдено это в C Faq: http://c-faq.com/ansi/constasconst.html