I am possibly doing this incorrectly and this is much a question about why it works in one compiler and not the other.
I have a large C application, and I am
You are redefining A and B by writing the same statement in several header files. One solution would be to drop the typedef of A and B from the A.h and B.h and use your C.h as it is.
typedef