C/C++中的隐藏依赖

转载自:http://www.cnblogs.com/frydsh/p/3466660.html

隐藏依赖:即一个头文件依赖其它文件。


例如:
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中再包含。

有个例外就是向前声明。

 

posted @ 2014-04-15 21:32  _Youxi_  阅读(487)  评论(0)    收藏  举报