这样的错误,通常,第一个文件失败:
1.相互头包括
2.头文件秩序
此错误是编译错误,和“inclued头文件“有关
问题描写叙述
有三个头文件AgentSDK.h、AA.h、BB.h,当中CBB类继承自CAA。
头文件包括顺序例如以下。
1.AA.h包括AgentSDK.h
2.AgentSDK.h包括BB.h
3.BB.h包括AA.h
原因分析:编译器首先编译AA.h,因其包括AgentSDK.h,引入AgentSDK.h继续编译。由于AgentSDK.h包括BB.h,加载BB.h内容准备编译。
CBB继承自CAA,CAA尚未编译成功。此时VS2008错误列表中会出现 error
C2504: ”CAA“: 没有定义基类。
此编译错误就是在编译AA.h头文件时出的错。
结:头文件在包括顺序上不要成为一个闭环,它们最好应的树结构的顺序。
版权声明:本文博客原创文章,博客,未经同意,不得转载。