Bonjour,


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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
struct test
{
  int t;
  short *tableau;
};
 
typedef struct test *BIG;
 
static BIG test_depile( pile p )
{
  if ( pilevide(p) ) erreur("trop d'opérateurs");
  return depile(p);   // erreur : return makes pointer from integer without a cast
 
}
 
--------------------------------
 
struct descripteur_de_pile { 
  int taille;
  BIG* vect;
  int sommet;
};
 
struct descripteur_de_pile * cree_pile( void )
{
  struct descripteur_de_pile * self = malloc(sizeof(struct descripteur_de_pile));
  self->taille = TAILLE_INITIALE;	/* doit être > 0 */
  self->vect = malloc(self->taille*sizeof(BIG));
  self->sommet = 0;
  return self;
}
 
BIG depile( struct descripteur_de_pile * self ) 
{
  assert(self->sommet > 0);
  return self->vect[--self->sommet];
}
-----------------------------

J'ai ensuite une autre fonction qui utilisent les expressions postfixées sur des BIG.


Pourquoi cette erreur à la compilation ?


Merci.