Sorry, I didn't see that thread. I'm still having trouble finding it, but here's a better looking version of the code:

typedef  enum {now=10,  next, last} grade;
typedef union {int age1 ;float age2;} age;

  struct {char name[20]; int age;} info;
  grade now;
  strcpy(, "my name is here in the real code");
  union age=info.age;
// parse error before 'union'
  printf("This program is by %s, age %d. He is currently is grade %d.", age.age2, grade); 
// parse error before 'info'