转载自:http://trarck.googlecode.com/svn/trunk/article/C/%E9%9A%90%E8%97%8F%E4%BE%9D%E8%B5%96.txt
隐藏依赖:即一个头文件依赖其它文件。 例如: A.h struct BS bs; ... B.h struct BS{ .... }; 在A.c中 //这样会报错 #include A.h #include B.h //先包含B.h就可以 #include B.h #include A.h 这样就叫"隐藏依赖" 如果先包含A.h就可以发现隐藏依赖,所以各种规范都要求自身的头文件放在第一个,就能发现隐藏依赖。 解决办法就是在A.h中包含B.h,而不是在A.c中再包含。 有个例外就是向前声明。