le header est :
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
38
39
typedef struct noeud_interne
{
    int info;
    struct noeud *fg;
    struct noeud *fd;
 
} interne;
 
typedef struct maillon
{
    char val;
    struct noeud *adr;
} feuille;
 
typedef struct noeud
{
    char type;
    union variante
   {
   interne ni;
   feuille nf;
   } var;
} tnoeud;
 
 
typedef tnoeud* ptr;
ptr creernoeudi(int info);
ptr creernoeudf(char val);
void aff_fg(ptr p,ptr q);
void aff_fd(ptr p,ptr q);
void aff_adr(ptr p,ptr q);
void aff_info(ptr p,int v);
void aff_val(ptr p,char v);
ptr fg(ptr p);
ptr fd(ptr p);
ptr suivant(ptr p);
int info(ptr p);
char valeur(ptr p);
char typenoeud(ptr p);
ma procédure est :

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
#include<stdio.h>
#include<stdlib.h>
#include"modele.h"
 
 
 
ptr recherche(int pos ,ptr *pere , tnoeud *racine , int trouve , int incr)
{
ptr p=racine;
pere=NULL;
trouve=0;
while (p!=NULL && trouve==0)
{
     if (typenoeud(p)=='f')
       trouve=1;
	 else
      {
          *pere=p;
 
              if(pos<= info(p))
              {
                  aff_info(p,info(p)+incr);
                  p=fg(p);
              }
              else
              {pos=pos-info(p);
              p=fd(p);
              }
      }
 
}
return p;
}

le problème est :
1>.\main.cpp(52) : error C2664: 'recherche'*: impossible de convertir le paramètre 2 de 'tnoeud' en 'ptr *'
1> Aucun opérateur de conversion définie par l'utilisateur disponible qui puisse effectuer cette conversion, ou l'opérateur ne peut pas être appelé
merci...