« Parse error » dans la déclaration struct
Question
Je veux utiliser une struct de base en C comme suit:
struct p {
int a;
int b;
p * next;
}
Cependant, il ne parvient pas à compiler avec un error: parse error before "p"
sur la ligne avec p * next;
.
Avez-vous une idée de ce que la raison pourrait être à ce problème?
La solution
C struct vivre dans un autre espace de noms et doivent être explicitement scope, ainsi:
struct p {
int a;
int b;
struct p * next;
};
Et ne pas oublier le point-virgule à la fin! : -)
Vous pouvez prétendre que vous êtes en C ++ ainsi: typedef struct p { /*...*/ } p;
. Mais je pense que next
aura encore être déclarée comme ci-dessus.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow