Use a struct tag, rather than the typdef tag for your storage type, as: typedef struct _TMenu { ... struct _TMenuItem items[]; } TMenu;
typedef struct _TMenuItem { ... struct _TMenu *ptr; ... } MenuItem; -----Original Message----- Subject: [avr-gcc-list] Typdef chick 'n egg situation.. way out ? Hi list, Problem: I have two typdef's statement, each type contains a pointer to the other type ! Hmmm.... typedef TMenuItem struct { char text[20]; TMenu *ptr; void (*fptr)(); }; typedef TMenu struct { uint8_t nb; char title[20]; TMenuItem items[]; }; I am basically rewriting (following a computer crash..) a program I did 3+ years ago.. all from memory. Back then ISTR some kind soul on here, sorted me out with something he called "forward declaration"... but I can't seem to manage to find this particular post in the list archive sadly. I think it was a line just saying "TMenu" will be defined further down, don't worry Mister GCC and just accept my TMenuItem struct below, you will find TMenu soon enough. Something to that effect ! ;-) TIA... Regards, -- Vince _______________________________________________ AVR-GCC-list mailing list AVR-GCC-list@nongnu.org http://lists.nongnu.org/mailman/listinfo/avr-gcc-list _______________________________________________ AVR-GCC-list mailing list AVR-GCC-list@nongnu.org http://lists.nongnu.org/mailman/listinfo/avr-gcc-list