Eu quero criar uma matriz estática constante para ser usada em todo o meu arquivo de implementação Objective-C semelhante a algo assim no nível superior do meu arquivo ".m":
static const int NUM_TYPES = 4;
static int types[NUM_TYPES] = {
1,
2,
3,
4 };
Pretendo usar NUM_TYPES
mais tarde no arquivo, então queria colocá-lo em uma variável.
No entanto, quando faço isso, recebo o erro
"'Tipos' modificados de forma variável no escopo do arquivo"
Percebi que isso pode ter algo a ver com o tamanho do array ser uma variável (não recebo esta mensagem quando coloco um literal inteiro lá, como static int types[4]
).
Quero consertar isso, mas talvez esteja fazendo tudo errado ... Tenho 2 objetivos aqui:
- Para ter uma matriz que é acessível em todo o arquivo
- Para encapsular
NUM_TYPES
em uma variável para que eu não tenha o mesmo literal espalhado por diferentes lugares em meu arquivo
Alguma sugestão?
[EDITAR] Encontrado no C Faq: http://c-faq.com/ansi/constasconst.html
#define kNUM_TYPES 4
?