“Error de análisis” en la declaración struct
Pregunta
Quiero usar alguna estructura básica en C como la siguiente:
struct p {
int a;
int b;
p * next;
}
Sin embargo, falla al compilar con un error: parse error before "p"
en la línea con p * next;
.
¿Tiene alguna idea de lo que la razón podría ser para este problema?
Solución
C estructuras vivir en un espacio de nombres diferentes y tienen que ser de ámbito de forma explícita, por lo tanto:
struct p {
int a;
int b;
struct p * next;
};
Y no se olvide el punto y coma al final! : -)
Se puede pretender que eres en C ++ por lo tanto: typedef struct p { /*...*/ } p;
. Pero creo que next
todavía tendrá ser declarado que el anterior.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow