19/12/11 13:36
Driverfury
Ciao a tutti, stavo creando una rubrica in C quando andando a compilare in una funzione c'è stato l'errore: "incompatible types in return". Ecco il file sorgente:
L'errore c'è quando ritorno "c" dalla funzione returnContacts(). Mi potete aiutare a farmi perchè c'è l'errore?
#include <stdio.h> #include <stdlib.h> #include <string.h> // Variabili e costanti globali const int MAX_CON = 500; // Costante che sta ad indicare il massimo numero di contatti della rubrica // Struttura: Contatto struct contact { char *name; char *surname; char *number; char *address; }; // Prototipi di funzioni struct contact returnContacts(char *fileName); int main() { char *fname = "rubrica.txt" struct contact c[MAX_CON]; c = returnContacts(fname); } // Funzione che ritorna una struttura di contatti o un array di contatti struct contact returnContacts(char *fileName) { FILE *fp; // Puntatore a file struct contact c[MAX_CON]; // Variabile di tipo struttura "contact" int i=0; // Contatore if(!(fp=fopen(fileName, "r"))) // Se non riesce ad aprire il file in modalità di scrittura { printf("\nErrore durante l'apertura del file \"%s\" in modalita' lettura.\n", fileName); return; } while(fscanf(fp, "%s %s %s %s\n", c[i].name, c[i].surname, c[i].number, c[i].address)>0) /* Fin quando riesce a leggere da file più di 0 Byte */ { i++; } fclose(fp); // Chiudo il file return c; // Questo è l'errore!!! }
L'errore c'è quando ritorno "c" dalla funzione returnContacts(). Mi potete aiutare a farmi perchè c'è l'errore?
aaa