Bonjour,

J'ai 2 erreurs:

conflicting types for 'gestion_regles'
previous implicit declaration of 'gestion_regles' was here

j'ai noté dans le code où il me met ces erreurs. Pourquoi j'ai ces erreurs ?

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
/****************************************************************/
// application regle 5
void regle5(mat_dyn *t,Tnom tvar,TABL *tabL,int *ligne,int colonne, PNOEUD ancetre)
{
int i=0,j=0,trouve=0,ligne2;
PNOEUD nveau1,nveau2; 
char lettre,signe;
TABL *tabL2;
mat_dyn t2;
 
ligne2=(*ligne);
tabL2=(TABL *)malloc(ligne2*sizeof(TABL));
ini_matrice(&t2,*ligne,colonne);
 
memcpy(&t2,t,ligne2*colonne*sizeof(composante));  //on fait une copie de la matrice t
memcpy(tabL2,tabL,ligne2*sizeof(TABL));
 
while(j<colonne && trouve==0)
   {
   while(i<(*ligne) && (*t)[adr_mrd(i,j,colonne)] ==0 )
      i++;
   if(i==(*ligne))
      {
      i=0; 
      j++;
      } 
   else
      trouve=1;  //sert a sortir de la boucle
   }
 
if(trouve)
   {
   // gestion de a
 
   trouve=enl_a(t,1,j,tabL,ligne,colonne);                          
   caractere(trouve,tvar[j],&lettre,&signe);                      
 
   nveau1= ajout_arbre(*t,*ligne,lettre,signe, NULL, NULL);               
   ancetre->fils=nveau1;                
 
 
 
   gestion_regles(ancetre->fils,colonne,tvar,tabL);  //ERREUR: previous implicit declaration of 'gestion_regles' was here 
 
 
 
 
   // gestion de -a
 
   trouve=enl_a(&t2,-1,j,tabL2,&ligne2,colonne);                         
   caractere(trouve,tvar[j],&lettre,&signe);                     
 
   nveau2= ajout_arbre(t2,ligne2,lettre,signe, NULL, NULL);               
   ancetre->frere=nveau2;
   gestion_regles(ancetre->frere,colonne,tvar,tabL2);
 
   }
}
 
/****************************************************************/
//gestion des regles
void gestion_regles(PNOEUD ancetre, int colonne, Tnom tvar, TABL *tabL)
 
 
 
{       //ERREUR : conflicting types for 'gestion_regles' 
 
 
 
int ligne;
mat_dyn Mmatrice,Mancetre;
 
if( ancetre->arc!='\0' && ancetre->arc!='-')
   {
 
   Mancetre=ancetre->matrice;
   ligne=ancetre->ligne;
 
   ini_matrice(&Mmatrice,ligne,colonne);    
 
   // copie du contenu de la matrice tampon dans la matrice t
   if(memcpy(Mmatrice,Mancetre,ligne*colonne*sizeof(composante))==NULL)
       printf("pointeur null");     
 
   cpt_ligne(&Mmatrice,tabL, ligne, colonne);  
 
   if(regle3(&Mmatrice,tvar,tabL,&ligne,colonne,ancetre))
      gestion_regles(ancetre->fils,colonne,tvar,tabL);
 
   else if(regle4(&Mmatrice,tvar,tabL,&ligne,colonne,ancetre))
        gestion_regles(ancetre->fils,colonne,tvar,tabL);
 
   else 
      regle5(&Mmatrice,tvar,tabL,&ligne,colonne,ancetre);
 
  } 
}