"Erro de análise" na declaração de estrutura
Pergunta
Eu quero usar alguma estrutura básica em C, como o seguinte:
struct p {
int a;
int b;
p * next;
}
No entanto, não consegue compilar com um error: parse error before "p"
na linha com p * next;
.
Você tem alguma ideia de qual poderia ser o motivo desse problema?
Solução
As estruturas c vivem em um espaço para nome diferente e precisam ser explicitamente escopo, assim:
struct p {
int a;
int b;
struct p * next;
};
E não se esqueça do semicolon no final! :-)
Você pode fingir que está em C ++ assim: typedef struct p { /*...*/ } p;
. Mas eu acho que next
ainda será declarado como acima.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow