Variabel modifiziertes Array im Dateibereich

Will ich schaffen, eine Konstante statische Arrays verwendet, während meine Objective-C implementation file ähnelt etwas wie dieses auf der obersten Ebene von meine ".m" Datei:

static const int NUM_TYPES = 4;
static int types[NUM_TYPES] = { 
  1,
  2, 
  3, 
  4 };

Ich Plane mit NUM_TYPES später in der Datei, so wollte ich es in eine variable.

Jedoch, wenn ich dies mache, bekomme ich die Fehlermeldung

"Variabel geändert 'Typen' im Datei-Bereich"

Entnehme ich, dass das vielleicht etwas zu tun mit der array-Größe wird eine variable (die ich nicht bekomme diese Meldung, wenn ich eine integer-literal gibt, wie static int types[4]).

Möchte ich dieses Problem zu lösen, aber vielleicht werde ich etwa alles falsch...ich habe einen 2-Tore-hier:

  1. Haben ein array, die zugänglich ist in der gesamten Datei
  2. Zu Kapseln NUM_TYPES in eine variable, damit ich nicht das gleiche literal verstreut über verschiedene Orte in meiner Datei

Irgendwelche Vorschläge?

[BEARBEITEN]
Dies fand in der C-Faq: http://c-faq.com/ansi/constasconst.html

InformationsquelleAutor der Frage Sam | 2009-11-11

Schreibe einen Kommentar