需要快速帮助,基类未定义
quick help needed base class undefined
找不到解决方法
这是我的文件布局
SDK.h
#pragma once
#include "Object.h"
#include "Panel.h"
Object.H
#pragma once
#include "SDK.h"
class BaseObject
{
etc...
}
Panel.h
#pragma once
#include "SDK.h"
class Panel : public BaseObject
{
etc...
}
,然后是错误
Panel.h(5): error C2504: 'BaseObject' : base class undefined
谁能告诉我如何正确地做这件事?这可能是一个非常简单的修复:(
编辑:我看了看,无法解决它,我是否必须创建一个新文件并将它们包含在。cpp文件中?
您没有包含任何关于翻译单元无法编译代码的信息。因此,我只是猜测。我的猜测是你有一些东西首先包括Object.h
:
- 编译器开始包含
Object.h
并将其标记为不再包含 - 编译器包含
SDK.h
,暂停包含Object.h
并标记为不再包含 - 跳过
Object.h
的包含 - 编译器包含
Panel.h
,暂停SDK.h
的包含,并标记为不包含 - 跳过
SDK.h
的包含 - 已达到
Panel
的定义,但BaseObject
尚未定义,并且您得到错误
修复是不包含Object.h
或Panel.h
中的SDK.h
。相反,Panel.h
应该包括Object.h
,两个头应该包括他们需要的任何其他内容。
-
从Object.h中删除
#include "SDK.H"
-
[最后的手段]如果问题仍然没有解决,使用
header guards
,这里是它的教程
相关文章:
- 使用子类覆盖基类中定义的函数
- 如何在基类中定义静态接口,并确保该接口必须在派生类中实现
- Qt基类函数定义
- 当在基类中定义枚举时,qml中的Q_ENUM未定义值
- 基类未定义.错误 C2504
- 将 final 关键字添加到没有基类(未派生)的类中的虚函数是否有意义
- 从派生类重新定义基类中定义的结构
- C++头文件错误:基类未定义
- IMFSourCereadErcallback:基类未定义
- 类类型重定义和基类未定义错误
- C 中的基类未定义错误
- 错误C2504-基类未定义
- 从c++中的派生类调用未在基类上定义的成员函数是否安全
- 基类未定义的 Visual Studio 2010
- 'class'类型重定义/基类未定义
- 如何仅在派生类未定义同名方法时才定义基方法
- 基类未定义
- 基类未定义错误(C2504)
- 需要快速帮助,基类未定义
- c++基类未定义.在另一个类中包括基类和子类