Я хочу создать постоянный статический массив, который будет использоваться в моем файле реализации 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