Ich möchte ein konstantes statisches Array erstellen, das in meiner Objective-C-Implementierungsdatei verwendet wird, ähnlich wie auf der obersten Ebene meiner ".m" -Datei:
static const int NUM_TYPES = 4;
static int types[NUM_TYPES] = {
1,
2,
3,
4 };
Ich habe vor, es NUM_TYPES
später in der Datei zu verwenden, also wollte ich es in eine Variable einfügen.
Wenn ich dies tue, erhalte ich jedoch den Fehler
"Variabel geänderte 'Typen' im Dateibereich"
Ich habe festgestellt, dass dies möglicherweise damit zu tun hat, dass die Arraygröße eine Variable ist (ich erhalte diese Meldung nicht, wenn ich dort ein ganzzahliges Literal eingebe, wie z static int types[4]
. B. ).
Ich möchte das beheben, aber vielleicht mache ich alles falsch ... Ich habe hier zwei Ziele:
- Um ein Array zu haben, auf das in der gesamten Datei zugegriffen werden kann
- In
NUM_TYPES
eine Variable einkapseln , damit nicht dasselbe Literal über verschiedene Stellen in meiner Datei verteilt ist
Irgendwelche Vorschläge?
[BEARBEITEN] Gefunden in der C-FAQ: http://c-faq.com/ansi/constasconst.html
#define kNUM_TYPES 4
?