définition de structures complémentaire
Bonjour, actuellement je suis sur un projet C qui nécessite de créer deux structure mutuelle.
Le but final est de construire un graphe simplement orienté.
Voici où se trouve probablement l'erreur.
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| typedef struct piece;
typedef struct cell{
piece* elt;
struct cell* suiv;
}Cells;
typedef struct piece{
int reference;
double prix;
Cells* compisition;
}Piece; |
Le but est donc de définir une cellule qui est une liste chainée de piece. Et une piece qui peut etre simple ou composite. Dans le cas d'une piece simple composition est à null et dans le cas d'une piece composite, elle contient des cellules de pieces simples ou composites
Le problème est qu'apparemment le compilateur n'arrive pas à identifier l'attribut elt de Cells comme étant une piece.
puisque ce simple code par exemple ne compile pas!
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
// affiche la reference et le prix d une piece de base
void afficherPieceBase(Piece* elt)
{
printf("ref: %d\t prix: %lf\n", elt->reference, elt->prix);
}
// affiche la reference et le prix d une piece compisite
void afficherPieceComposite(Piece* elt)
{
printf("ref: %d\t prix compisition: %lf\t prix total: %lf\n", elt->reference, elt->prix, calculPrixComposite(elt));
} |
Donc voilà pouvez vous m'aider pour réaliser cette déclaration? Ou donner d'autres idées je suis preneur.