“Errore di interpretazione” in dichiarazione di struct
Domanda
Voglio usare un po 'struct base in C come il seguente:
struct p {
int a;
int b;
p * next;
}
Tuttavia, non riesce a compilare con un error: parse error before "p"
sulla linea con p * next;
.
Avete qualche idea di quale sia la ragione potrebbe essere per questo problema?
Soluzione
C struct vivere in uno spazio dei nomi diverso e devono essere esplicitamente ambito, in tal modo:
struct p {
int a;
int b;
struct p * next;
};
E non dimenticare il punto e virgola alla fine! : -)
Si può fingere di essere in C ++ così: typedef struct p { /*...*/ } p;
. Ma penso che next
avrà ancora essere dichiarata come sopra.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow