«Ошибка разбора» в объявлении Struct
Вопрос
Я хочу использовать какую -то базовую структуру в C, например, следующее:
struct p {
int a;
int b;
p * next;
}
Однако он не может компилироваться с error: parse error before "p"
на линии с p * next;
.
Вы хоть представляете, какая причина может быть для этой проблемы?
Решение
С структуру живут в другом пространстве имен и должны быть явно охватываны, таким образом:
struct p {
int a;
int b;
struct p * next;
};
И не забывайте о полуколоне в конце! :-)
Вы можете притворяться, что в C ++ так: typedef struct p { /*...*/ } p;
. Анкет Но я думаю, что next
все еще будет объявлено, как указано выше.
Не связан с StackOverflow