Я пытаюсь определить две структуры в C, когда вторая структура использует первую в качестве члена массива и имеет два члена-указателя сама по себе.
Visual Studio не нравится мой код:
синтаксическая ошибка: '}'
синтаксическая ошибка: идентификатор 'tokenListNode'
синтаксическая ошибка: отсутствует '{' before '*'
есть идеи, как решить эту проблему?
-> Обратите внимание, что ошибки появляются с или без объявлений, которые я добавил в начале кода.
-> Кроме того, если кто-то может объяснить мне, что это такоеЯ буду благодарен за разницу между идентификатором до и после фигурных скобок структуры.
Ниже приведен код:
#define ARRAY_SIZE 100
struct tokenListNode;
struct TOKEN_LIST_NODE;
enum TOKEN_TYPE
{
id = 0,
INT_NUM,
INT_REAL,
ASSIGNMENT_OP,
RELATION_OP,
ARITHMETIC_OP
} tokenType;
typedef struct TOKEN
{
char* lexema;
enum TOKEN_TYPE type;
int lineNumber;
} token;
typedef struct TOKEN_LIST_NODE
{
token tokenArray[ARRAY_SIZE];
tokenListNode* prevNode;
tokenListNode* nextNode;
int tokenCounter;
}tokenListNode;