enum kind {E_INT, E_ADD, E_TIMES}; struct Exp { enum Exp_Kind_tkind; } struct Exp_Add{ enum Exp_Kind_tkind; struct Exp *left; struct Exp *right;}
https://blog.csdn.net/flyqwang/article/details/6420228