Problème de structure en paramètre
Bonjour à tous, voici mon problème, pour un travail je doit faire un certain jeu de carte en se basant sur l'exemple de pile que le professeur à donner, mais dans sont code à lui il entre un int en paramètre comme ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| //Voici son initialisation dans son .h
typedef struct elm
{
int donne;
struct elm * suivant ;
}elm;
typedef struct Pile_p
{
struct elm * deb;
unsigned int taille;
}Pile_p;
//Voici comment il empile ses éléments dans sa pile
void empiler (Pile_p *p, int x)
{
elm *nouveau_element;
nouveau_element = new elm;
nouveau_element ->donne = x;
nouveau_element -> suivant = p->deb;
p->deb = nouveau_element;
p->taille ++;
} |
Mon problème à moi c'est que au lieu d'avoir un int donne dans ma structure elm, j'ai une autre structure nommée Carte, comme ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| typedef struct Carte
{
int valeur;
bool couleur;
int bonus;
}Carte;
typedef struct elm
{
struct Carte;
struct elm * suivant;
}elm;
typedef struct Pile
{
struct elm * deb;
int taille;
}Pile; |
Et dans ma fonction losque j'essaie de faire comme lui :
Code:
1 2 3 4 5 6 7 8 9
| int empiler(Pile *p, Carte c)
{
elm *nouveau_element;
nouveau_element = new elm;
nouveau_element-> Carte = c;
nouveau_element-> suivant = p->deb;
p->deb = nouveau_element;
p->taille++;
} |
Le nom de type de "Carte" n'est pas autorisé
Je ne comprend vraiment pas comment résoudre cette erreur :/ J'ai pourtant essayer plusieurs truc à ma connaissance mais vu que je commence en C++ mes connaissances sont assez limitées... Merci de m'aider :)
PS: j'ai mis de la couleur pour retrouver les points important plus rapidement