隐藏依赖:即一个头文件依赖其它文件。
例如:
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中再包含。
有个例外就是向前声明。
网友评论