Warning - Appel de struct "imbriqué"

Résolu
armasousou Messages postés 1351 Statut Membre -  
armasousou Messages postés 1351 Statut Membre -
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

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Avec le code c'est plus chouette
    0
  2. armasousou Messages postés 1351 Statut Membre 83
     
    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
  3. armasousou Messages postés 1351 Statut Membre 83
     
    Il suffit de remplacer les includes dans des .h par des typedef.
    0