1. example 0
A_CAREFULLLESS_SOMETHING /* not ended with a ; */
#define DEFINE_MACRO0
#define DEFINE_MACRO1
......
typedef enum
{
TYPEDEF_ENUM_0
......
} TYPEDEF_ENUM;
build error: there needs a ;, , or = before typedef enum.
so you should check the part before typedef enum.