Originariamente inviato da ramy89
Un esempio di errore è quando provi a includere il typedef nell' header file e importarlo nel file in cui stai lavorando,forse se sei su linux può non essere così.Io uso mingw32.
Non ho errori neppure così (cmq sto compilando su Mac OS X 10.6.5 Snow Leopard):
file "sdati.h":
codice:
#ifndef SDATI_H
#define SDATI_H
#ifndef SDATI_H
#include "sdati.h"
#endif
#define NMAX 3
typedef struct dati {
int eta;
char sesso;
} sdati;
typedef sdati vett[NMAX];
#endif
file "main.c":
codice:
/*
$ gcc --version
i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5646) (dot 1)
$ gcc -Wall -ansi -pedantic -Wextra -Wconversion main.c
$ ./a.out
main.c
6
*/
#include <stdio.h>
#ifndef SDATI_H
#include "sdati.h"
#endif
int ig_test (vett theVett){
int ret = 0;
int i = 0;
for (; i < NMAX; ++i){
ret += theVett [i].eta;
}
return ret;
}
int main (void){
vett aVett={{1, 'M'}, {2, 'M'}, {3, 'M'}};
printf ("%s\n", __FILE__);
printf ("%d\n", ig_test (aVett));
return 0;
}