Debutant en c++ erreure de compilation et je ne trouve pas...

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