On Thu, Sep 11, 2014 at 02:35:09PM +0300, Boaz Harrosh wrote:
If header B has an API like
typeA1 b_foo(typeA2 a2, typeA3 a3);
where typeA1, typeA2, typeA3 are from an included header A
and code in C.c needs the use of b_foo(), or even say b_foo is a vector
that C.c needs to implement. Then typeA1, typeA2, typeA3 are explicit
by B not implicit.
Implicit is if B has private structures with say typeXy from header X
but my code does not need to declare or implement any X types. in order
to use public API of B.
If I change B to no longer include A, and declare, but not define types
A1-A3, a file which relies on the inclusion of B to define types A1-A3
is now broken.