Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Salve a tutti, dopo diverse ricerche non ho trovato una soluzione adeguata al mio problema quindi ho deciso di chiedere direttamente a voi.
Vorrei semplicemente passare come parametro di una funzione un "typedef struct"...qualcuno può spiegarmi come? Grazie.
Di seguito il codice e gli errori restituiti dal compilatore. Grazie ancora!
Codice sorgente - presumibilmente C++
typedefstruct cantiere {
char cognomeIngegnere[ 30 ];
char nomeIngegnere[ 30 ];
} t_cantiere;
void inserisciDati(t_cantiere c){
printf("Congome Ingegnere: ");
scanf("%s", c.cognomeIngegnere);
}
int main(void)
{
t_cantiere c;
inseresciDati(c);
//printf("%s", c.cognomeIngegnere);
return0;
}
Compilazione: gcc -Wall -c "cantiere.c" (nel direttorio: /home/stefano/Scrivania)
cantiere.c: In function ‘main’:
cantiere.c:48:2: warning: implicit declaration of function ‘inseresciDati’ [-Wimplicit-function-declaration]
inseresciDati(c);
^
Compilazione terminata correttamente.
Generazione: gcc -Wall -o "cantiere" "cantiere.c" (nel direttorio: /home/stefano/Scrivania)
cantiere.c: In function ‘main’:
cantiere.c:48:2: warning: implicit declaration of function ‘inseresciDati’ [-Wimplicit-function-declaration]
inseresciDati(c);
^
/tmp/ccGHQELf.o: nella funzione "main":
cantiere.c.text+0x61): riferimento non definito a "inseresciDati"
collect2: error: ld returned 1 exit status
Compilazione fallita.
Ho perso ore per una cosa così banale!! Grazie mille!
()
Newbie
Messaggi: Iscritto:
Postato alle 17:23
Giovedì, 08/01/2015
C'è anche un altro aspetto: il parametro "c" dovrebbe essere passato per indirizzo, se no non modifichi la variabile nel main() ma solo una sua COPIA in inserisciDati() (quella nel main() resta intatta).