„Parse error“ in Strukturdeklaration
Frage
Ich möchte in C einige grundlegende Struktur verwenden, wie folgt aus:
struct p {
int a;
int b;
p * next;
}
Sie vermag jedoch nicht mit einem error: parse error before "p"
auf der Linie mit p * next;
zu kompilieren.
Haben Sie eine Ahnung, was der Grund für dieses Problem sein könnte?
Lösung
leben C structs in einem anderen Namespace und müssen explizit scoped werden, also:
struct p {
int a;
int b;
struct p * next;
};
Und vergessen Sie nicht das Semikolon am Ende! : -)
Sie können so tun, als Sie in C ++ sind somit: typedef struct p { /*...*/ } p;
. Aber ich denke, dass next
noch, wie oben erklärt hat.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow