Angenommen, ich mag ein globales Array von Daten über mein Programm teilen, zum Beispiel:Wie Deklarationen von externen Arrays (und doppelte Arrays) in C-Headerdateien korrekt geschrieben werden?
int lookup_indexes[] = { -1, 1, 1, -1, 2, 1, 1, -2, 2, 2, -1, 1, 1, 2 };
Was die richtige extern
Erklärung für dieses Array in der Datei C-Header ist?
Auch was über ein Array wie folgt aus:
int double_indexes[][5] = { { -1, 1, 1, -1, 1 }, { 2, -2, 2, 1, -1 } };
In meiner Header-Datei ich das versucht:
extern int lookup_indexes[];
extern int double_indexes[][5];
Aber dies führt zu Compiler-Fehler:
water.h:5: error: array type has incomplete element type
ich kann Ich verstehe es nicht.
Danke, Boda Cydo.
Können Sie nach dem Inhalt der 'water.h' zumindest bis zur Linie 5 und zeigt, welche Linie den Fehler verursacht. –
Charles, es ist #ifndef, #define, eine neue Zeile und 'extern int lookup_indexes [];' (4. Zeile) und 'extern int double_indexes [] [5];' (5. Zeile). – bodacydo
er wollte es in deine Frage bringen. Einfach anhängen. – detly