事情是这样的:
a.h和b.h都是第三方提供的,我们不能修改。。而这两个h里面,都有相同的宏,可恶的是宏的值居然不一样。
现在的问题是:
我要用b.h中定义的一个struct,但引入b以后,上面的宏就打架了。。能不能有什么办法,不include。我直接就用类似于extern的东西,将那个结构体的定义搞进去?
a.h和b.h都是第三方提供的,我们不能修改。。而这两个h里面,都有相同的宏,可恶的是宏的值居然不一样。
现在的问题是:
我要用b.h中定义的一个struct,但引入b以后,上面的宏就打架了。。能不能有什么办法,不include。我直接就用类似于extern的东西,将那个结构体的定义搞进去?
你说的前向申明是指的::不include了,直接把struct的定义摘抄下来吗?问题是这个结构体又包含了别的结构体。反正就这样绕来绕去的。没法搞。。都是变态的东西。。
可以自己写一个一样的
提前声明是指只声明一个类型,不去定义
比如
class CTest;
用namespace
这样就不会冲突了