>===
====<
Why does b.h need to include c.h ?
b.c can include both b.h and c.h
I can see that one reason for the problem might be if some functions defined
in b.h have as arguments structures (let me call one 'struct XYZ') which are
defined in c.h. The standard way to handle this in C++ (I'm rusty on
what's allowed in C) is to make sure the b.h function arguments are
references or pointers to the structures, and then provide forward
definitions at the start of b.h like
struct XYZ;
so that it knows that XYZ is a structure name, and that the implementation
in b.c will get the details from another header (in this case c.h). Then
b.h does not need to include c.h
Dave
-- David Webber
Mozart Music Software
http://www.mozart.co.uk/