Supponiamo che voglio condividere una gamma globale di dati attraverso il mio programma, ad esempio:Come scrivere correttamente le dichiarazioni degli array esterni (e dei doppi array) nei file di intestazione di C?
int lookup_indexes[] = { -1, 1, 1, -1, 2, 1, 1, -2, 2, 2, -1, 1, 1, 2 };
Qual è la corretta extern
dichiarazione per questo array nel file di intestazione C?
anche per quanto riguarda una serie come questa:
int double_indexes[][5] = { { -1, 1, 1, -1, 1 }, { 2, -2, 2, 1, -1 } };
Nel mio file di intestazione ho provato questo:
extern int lookup_indexes[];
extern int double_indexes[][5];
Ma questo si traduce in errori di compilazione:
water.h:5: error: array type has incomplete element type
posso lo capisco.
Grazie, Boda Cydo.
Puoi pubblicare il contenuto di 'water.h' almeno fino alla linea 5 e spettacolo che la linea causa l'errore. –
Charles, è #ifndef, #define, una nuova riga e 'extern int lookup_indexes [];' (quarta riga) e 'extern int double_indexes [] [5];' (quinta riga). – bodacydo
intendeva metterlo nella tua domanda. Basta accenderlo. – detly