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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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