c2079专题

error C2079 使用未定义的class 和 error C2011 ‘class’类型重定义

error C2079 使用未定义的class 问题原因:在于.h文件引用的顺序不对,在系统编译的时候是由上至下编译头文件的。 解决方法:(1) 添加头文件的时候基类文件在上,基于基类的子类头文件在其下,先编译基类再编译子类;                     (2)若b.h中用到了a.h中的内容,c.h需要用到b.h和a.h的内容,则先添加a.h再添加b.h。 error C

error C2079: 'a' uses undefined class 'A' .

在a.h中有:    class A{ ... }   类A对应的实现部分在 a.cpp中     在b.h中有:   class A;   class B{ ... ... A a;   /* 错误 */ }   其实现文件b.cpp中: #include "b.h" #include "a.h"   ...     以上的代码段在编译的时候会