C/C++中的隐藏依赖

转载自: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中再包含。

有个例外就是向前声明。


posted on 2013-12-09 23:33 frydsh 阅读(...) 评论(...) 编辑 收藏

导航

统计