明明include了对应的文件,但编译器报错不认识这个类定义

来源:互联网 发布:网络53ms是什么意思啊? 编辑:程序博客网 时间:2024/05/03 08:55

今天遇到一个编译问题,比如有三个文件 a.h, b.h, c.h 定义了三个类 a,b,  c,并且没有.cpp文件,都是在.h里面实现的,发现c.h 包含了a.h,但说不认识 a。后来看了一下原来是形成了环状包含, a.h, 包含了 b.h, b.h又包含了c.h,所以编译a的时候没有完成就又去编c去了,而c又要用到a,所有编译不过了。我们可以用#pragma message("xxx")来让编译器输出信息,以确定编译顺序,找到问题所在。

原创粉丝点击