no save
Assistance
Achat
News

Forum | programmation
[C] Passage d'une structure en paramètre
ilan27, le mer. 16 janv. 2008 à 19:21:19
Bonsoir,
J'ai crée un petit programme, dont une fonction a du mal à compiler, et après plusieurs recherches, je ne trouve pas la solution. Mais je sais que ça doit être quelque chose de simple.

Voici la partie du main concernée: (Je crée une "Etiquette" aec un int, et un tableau de char)

struct Etiquette{
int adresse;
char nom[20];
};
//Je crée un tableau de 20 Etiquettes
struct Etiquette t[20];
//J'appelle la fonction, voir plus bas, censée écrire dans ce tableau, c'est-à-dire donner l'adresse et le nom aux structures
recupereEtiquettes(src, t, 20);

Et voici la fonction appelée (avec l'erreur de compliation):

void recupereEtiquettes(FILE * source, struct Etiquette t[], int taille){
int i=0, numligne=0;
char *ligne=(char *)malloc(60);
do{
fgets(ligne, 60, source);
//Je récupere une ligne d'un fichier
if(isEtiquette(ligne)){
t[i]={numligne, nomEtiquette(ligne)}; //Je définis ma structure---------->Erreur de compliation (voir plus bas)
i+=1;
}
numligne+=(sizeof(int));
}while(ligne!=NULL && i<taille);
if(i>=taille) printf("Trop d'étiquettes à stocker!\n");
}


Enfin; l'erreur de compliation est:(Tout concerne la meme ligne)
Invalid use of undefined type 'struct Etiquette'
Defercencing pointer to incomplete type
Syntax error before '{' token

ps: Erreur de compliation aussi si je mets à la place de cette ligne:
strcpy(t[i].nom, nomEtiquette(ligne));
t[i].adresse=numligne;

Merci beaucoup! (J'utilise Code::Blocks) Configuration: Windows XP
Internet Explorer 7.0


Pacorabanix
janv. 08
Suivant
REPONSES
Pacorabanix
janv. 08
lami20j
janv. 08
ilan27
janv. 08
kilian
janv. 08
ilan27
janv. 08
kilian
janv. 08
ilan27
janv. 08
fiddy
janv. 08
kilian
janv. 08
ilan27
janv. 08
Version Web
Réalisé par RedShift
no save