Quiero crear una matriz estática constante para usar en todo mi archivo de implementación de Objective-C similar a algo como esto en el nivel superior de mi archivo ".m":
static const int NUM_TYPES = 4;
static int types[NUM_TYPES] = {
1,
2,
3,
4 };
Planeo usarlo NUM_TYPES
más adelante en el archivo, así que quería ponerlo en una variable.
Sin embargo, cuando hago esto, aparece el error
"'Tipos' modificados de forma variable en el ámbito del archivo"
Entiendo que esto puede tener algo que ver con que el tamaño de la matriz sea una variable (no recibo este mensaje cuando pongo un literal entero allí, como static int types[4]
).
Quiero arreglar esto, pero tal vez lo esté haciendo mal ... Tengo 2 objetivos aquí:
- Tener una matriz accesible en todo el archivo
- Para encapsular
NUM_TYPES
en una variable para que no tenga el mismo literal disperso en diferentes lugares en mi archivo
¿Alguna sugerencia?
[EDITAR] Encontré esto en C Faq: http://c-faq.com/ansi/constasconst.html
#define kNUM_TYPES 4
?