bonjour à tous,
j'ai un problème de pointeurs et je suis dessus depuis tout à l'heure et je n'arrive pas à trouver la solution, le probleme est que je dois rendre ce tp aujourd'hui.
voici mes structures de données:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
struct quadruplet
{
char * ch1;
char * ch2;
};
typedef struct quadruplet quadruplet;
struct li
{
char *ch1;
char *ch2;
struct li * suiv;
};
typedef struct li *li; |
voici mon code:
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
| li ajouter_inst(quadruplet elt,li liste)
{
li l1= liste ;
//allouer un maillon
li q =(li)malloc(sizeof(li));
q->ch1 =(char*) malloc(sizeof(char) * strlen(elt.ch1));
q->ch2 =(char*) malloc(sizeof(char) * strlen(elt.ch2));
q->ch1=elt.ch1;
q->ch2=elt.ch2;
q->suiv = NULL;
//ajouter à la fin de la liste
if(l1!=NULL)
{
while(l1->suiv!=NULL)
{
l1=l1->suiv;
}
l1->suiv=q;
}
else {
liste =q; }
return liste;
} |
voici l'erreur:
Erreur 56 error C2040: 'ajouter_inst'*: les niveaux d'indirection de 'li (quadruplet,li)' et de 'int ()' sont différents C:\Users\yasmine\compile The one\myparser.y 331
y'a t-il une solution à ça? je me noie 
merci d'avance
Partager