Je bute sur cette erreur depuis des heures et je ne comprends pas d'où elle peut bien venir...

Voici la fonction

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
File transfertGRDversFile(GRD a,File f)
{
	if(!estVideGRD(a))
	{
		transfertGRDversFile(a->gauche,f);
		enfiler(&f,f.debut,a->val);
		transfertGRDversFile(a->droite,f);
	}
	return f;
}
error: dereferencing pointer to incomplete type
J'obtiens cette erreur sur chaque paramètre partant de mon arbre. a->gauche a->droite a->val


Je tiens à préciser que la fonction enfiler avait bien été testé et elle fonctionne correctement.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
int enfiler (File * suite, Element * courant, int donnee);
Ici ce que je veux faire c'est envoyer dans une file les entiers de mon arbre.


Au paravant, j'avais une fonction de type void qui affichait un arbre sur le même principe et qui fonctionnait comme il faut, j'ai donc simplement repris la même structure en remplaçant l'affichage par le fait d'enfiler l'entier dans ma file que je retourne à la fin.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
void triGRD(GRD a)
{
	if(!estVideGRD(a))
	{
		triGRD(a->gauche);
		printf("%d\n",a->val);
		triGRD(a->droite);
	}
}

J ne vois vraiment pas d'où provient l'erreur ni à quoi elle est du

Need help

Cdlt, Merci.


EDIT: Je rajoute les structures on sait jamais =)

Arbre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
typedef struct unfeuille {
	int val;
	struct unfeuille *gauche;
	struct unfeuille *droite;
}feuille;
 
typedef struct unfeuille * GRD;
File
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
typedef struct ElementListe{
  int donnee;
  struct ElementListe *suivant;
} Element;
 
typedef struct ListeRepere{
  Element *debut;
  Element *fin;
  int taille;
} File;