Секундочку. Я могу не очень правильно объяснить теорию, но на практике это вот как выглядело всегда:
Код:
struct PRE_type {
// bla-bla-bla
// ...
PRE_type *pa; //<- можно
PRE_type a; //<- нельзя
};
typedef struct xPRE_type {
// bla-bla-bla
// ...
xPRE_type a; //<- нельзя
xPRE_type *a1; //<- можно
xT_type b; //<- нельзя
xT_type *b1; //<- нельзя
} xT_type;