Warning - Appel de struct "imbriqué"

Résolu/Fermé
armasousou Messages postés 1270 Date d'inscription dimanche 16 août 2009 Statut Membre Dernière intervention 30 décembre 2016 - 18 nov. 2013 à 07:49
armasousou Messages postés 1270 Date d'inscription dimanche 16 août 2009 Statut Membre Dernière intervention 30 décembre 2016 - 22 nov. 2013 à 21:17
Bonjour,
Lorsque je compile mon programme, j'ai des warning du type "passing argument of myfunction from incompatible type" dans un des fichiers.c (graph.c a l'appel du "constructeur" c'est expliqué plus bas) de mes structures et dans une autre structure, j'ai un "mystruct declared in param list" (tab_arete.h)

Pour situer un peu le sujet, j'ai une structure graph et une tab_arete : la premiere ce charge de liste d'adjasence etc , la second regroupe le tableau d'arete de la 1er. Le tableau s'initialise grace au graph t est utilisé pour l'algo de kruskal, prrim ...

J'ai donc une fct dont le prototype est creerTab-arete(graph* g)
Sachant que j'ai.bien include graph.h et il me dit que le typegraph n'existe pqs ...
De meme lorsque j'utilise crrertab_arete, il me dit "expected struct sgraph*, but argument is type struct sgraph*"
Pourtant, ca compile, ca marche, mais j'aime pas les warning ! Alors si quelqun pouvais m'eclaré ...

Merci d'avance

Ps: envoyé depuis mon tel, desolenpournles fautes.

3 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
18 nov. 2013 à 21:49
Avec le code c'est plus chouette
0
armasousou Messages postés 1270 Date d'inscription dimanche 16 août 2009 Statut Membre Dernière intervention 30 décembre 2016 83
22 nov. 2013 à 11:15
Désolé pour le temps que j'ai pris, voilà un exemple qui crée le bug :

#ifndef __A__
#define __A__

#include "b.h"

typedef struct sA{
int a;
struct sB* b;
}A;


A* creerA(int);

#endif

#ifndef __B__
#define __B__

#include "a.h"

typedef struct sB{
int b;
}B;

B* creerB(struct sA*);



#endif

Quelqu'un a une idée pour eviter ce warning ? Merci d'avance.
0
armasousou Messages postés 1270 Date d'inscription dimanche 16 août 2009 Statut Membre Dernière intervention 30 décembre 2016 83
22 nov. 2013 à 21:17
Il suffit de remplacer les includes dans des .h par des typedef.
0