Reputation: 17554
I want to use some basic struct in C like the following:
struct p {
int a;
int b;
p * next;
}
However, it fails to compile with an error: parse error before "p"
on the line with p * next;
.
Do you have any idea what the reason could be for this problem?
Upvotes: 1
Views: 1702
Reputation: 185852
C structs live in a different namespace and have to be explicitly scoped, thus:
struct p {
int a;
int b;
struct p * next;
};
And don't forget the semicolon at the end! :-)
You can pretend you're in C++ thus: typedef struct p { /*...*/ } p;
. But I think that next
will still have be declared as above.
Upvotes: 9