Petit problème de programmation c

Résolu/Fermé
sedd1991 Messages postés 21 Date d'inscription samedi 3 septembre 2011 Statut Membre Dernière intervention 6 mai 2014 - 10 nov. 2011 à 18:04
 Pouet_forever - 10 nov. 2011 à 22:18
Bonjour,
Pouvez-vous m'aider s'il vous plait à résoudre ce problème.
j'ai déclaré une structure que j'ai appelé maillon de la manière suivante:

typedef struct maillon
{
videotheque film;
maillon *suivant;
}maillon;
en compilant mon programme, il y a un message qui me signale :

error: expected specifier-qualifier-list before 'maillon'|
error: 'maillon' has no member named 'suivant'

j'attends vos réponses, merci.

2 réponses

Pouet_forever
10 nov. 2011 à 22:18
Quand tu fais ça :

typedef struct maillon 
{ 
  videotheque film; 
  maillon *suivant; 
}maillon; 

Tu déclares un 'struct maillon' et un allias sur ton 'struct maillon' qui s'appelle 'maillon'.
Le problème c'est que la déclaration du nouveau type n'est connue qu'après cette même instruction, du coup tu ne peux pas référencer ce type avant. Si tu veux garder cette syntaxe, tu peux tout simplement faire :

typedef struct maillon 
{ 
  videotheque film; 
  struct maillon *suivant;  /* Note que j'ai mit 'struct maillon' ici */
}maillon; 
1
sedd1991 Messages postés 21 Date d'inscription samedi 3 septembre 2011 Statut Membre Dernière intervention 6 mai 2014 1
10 nov. 2011 à 19:45
J'ai réglé le problème en utilisant la syntaxe suivante:
typedef struct maillon maillon;
struct maillon
{
.
.
.
.
};
0