Ho una matrice definita in un file e in un altro devo usarlo, per EGDelarazione esterna per una matrice?
/* a.c - defines an array */
int a[] = {1,2,3,4,5,6,7,8,9};
/* b.c - declare and use it. */
#define COUNT ((sizeof a)/(sizeof int))
extern int a[]; //size of array
.
.
.
int i;
for(i=0; i<COUNT; i++)
printf("%d", a[i]);
.
.
.
Ora, quando provo a compilarlo mi ha dato errore che dice che sizeof cann't essere utilizzato su incomplete genere.
Qualcuno può dirmi come gestire tale caso in C/C++? Io non voglio gamma pedice in a.c
Grazie in anticipo
Mi sono imbattuto in questo problema oggi. Ho pensato che se il linker può risolvere i riferimenti di oggetti esterni, allora può anche risolvere le loro dimensioni ... Ma sembra che i linker non siano così intelligenti ... – Calmarius