Je veux créer un tableau statique constant qui sera utilisé dans l'ensemble de mon fichier d'implémentation Objective-C et qui ressemblera à quelque chose comme ceci au niveau supérieur de mon fichier ".m" :
static const int NUM_TYPES = 4;
static int types[NUM_TYPES] = {
1,
2,
3,
4 };
Je prévois d'utiliser NUM_TYPES
plus tard dans le fichier, donc je voulais le mettre dans une variable.
Cependant, lorsque je fais cela, j'obtiens l'erreur suivante
"Types modifiés de manière variable au niveau du fichier".
J'en déduis que cela peut avoir un rapport avec le fait que la taille du tableau est une variable (je n'obtiens pas ce message lorsque je place un entier littéral à cet endroit, par exemple static int types[4]
).
Je veux réparer cela, mais peut-être que je m'y prends mal... J'ai deux objectifs ici :
- Pour avoir un tableau qui est accessible dans tout le fichier
- Pour encapsuler
NUM_TYPES
dans une variable pour ne pas avoir le même littéral éparpillé à différents endroits dans mon fichier.
Des suggestions ?
[EDIT] J'ai trouvé ça dans la Faq C : http://c-faq.com/ansi/constasconst.html