[должен быть комментарий, но мне нужны пробелы и пробелы, чтобы их можно было прочитать. Буду редактировать, чтобы было реальное решение, когда все прояснится]
Edit1: новый конф
Итак, давайте немного уточним файл, который у вас будет:
Стиль кода C ++ / yacc_parser.yy
: содержит% union
Стиль кода C ++ / yacc_parser.hh
и yacc_parser.cc
: генерируется командой yacc yacc_parser.yy
Стиль кода C / lex_lexer.l
: включает yacc_parser.h
Стиль кода C / lex_lexer.c
: генерируется командой lex lex_lexer.l
Затем вы компилируете & link: gcc -Wall lex_lexer.c yacc_parser.cc
, который должен создать исполняемый файл.
Поскольку вы смешиваете код на C и C ++, я почти уверен, что вам нужно где-то использовать extern "C" { ... }
, чтобы связать ваш союз как тип C, а не C ++. Это может объяснить, почему вы не можете найти член структуры в коде.
Может быть
%union {
extern "C" {
...teh code...
}
}
для моей информации, зачем вам смесь C и C ++? почему не только один язык?