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中再包含。
有个例外就是向前声明。
浙公网安备 33010602011771号