liste chaine compilation err invalid conversion from 'void*' to 'pile*
Debutant en c++ erreure de compilation et je ne trouve pas...:weird:
liste chaine compilation err invalid conversion from 'void*' to 'pile*
|13|error: invalid conversion from 'void*' to 'pile*' [-fpermissive]|
Les éléments de la liste sont chaînés entre eux à l'aide de pointeurs sur leurs éléments suivants ou précédents voir sur les deux.
Voici pile.h ;)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| #ifndef CGI_pILE_H
#define CGI_pILE_H
typedef struct pile /* Structure représantant un élément de la pile. */
{ int valeur;
struct pile *prec;
}
pile ;
pile *MAPile= NULL;
#ifdef __cplusplus
extern "C" {
#endif
void Push(pile **, int Val); /* Push empile une valeur sur la pile. */ |
/****************************************************************
Voici le cpp:?
Code:
1 2 3 4 5 6 7 8 9 10 11
| #include "pile.cpp"
void Push(pile **p, int Val)
{
pile *element = malloc(sizeof(pile));
if(!element) exit(EXIT_FAILURE); /* Si l'allocation a échouée. */
element->valeur = Val;
element->prec = *p;
*p = element; /* Le pointeur pointe sur le dernier élément. */
} |
/****************************************************************
et voici le main :?
Code:
1 2 3 4 5 6 7 8
| #include "pile.h"
int main()
{ pile *MaPile = NULL; /* Impératif de l'initialiser à NULL */
Push(&MaPile, 10);
Push(&MaPile, 25);
Push(&MaPile, 33);
Push(&MaPile, 12); /* Empile 4 valeurs. */ |