本周早些时候,我被分配了一项学习UE4的入门作业。无论是通过打字还是通过复制粘贴逐字复制c++代码,我在做教程时都会遇到问题。
我试着遵循这个教程,但没有成功。这是我迄今为止所拥有的。我将从我的第一个对象FloatingObject的头开始。
在此处输入图像描述
这是实际的CPP文件:
在此处输入图像描述
我可以做些什么来消除在使用ViualMesh、CubeVualMesh和ConsructorHelpers对象时出现的错误?此外,我可以导入什么来消除所有这些错误?
我真的不知道如何使用UE 4!
以下是我的错误:
在此处输入图像描述
如有任何帮助,我们将不胜感激!
谢谢!
从4.15版本开始,默认配置要求在引用大多数类时必须具有额外的#include
指令。进行此更改是为了加快编译速度。有关更多信息,请参阅"更快的编译时间"的4.15发行说明。
不幸的是,仍然有许多旧的教程&指导那些没有完全反映这一变化的内容。
例如,因为您使用的是UStaticMeshComponent
(不使用class UStaticMeshComponent
进行前向声明(,所以必须在该文件的顶部有#include "Components/StaticMeshComponent.h"
。
对于ConstructorHelpers
,必须具有#include "UObject/ConstructorHelpers.h"
。
您可能需要添加其他#include
指令。
你怎么知道该包括什么
当你需要使用一个类并向前声明它还不够时,请转到虚幻引擎4文档并搜索你试图使用的类。
例如,搜索UStaticMeshComponent
将进入其API页面,并显示:
包含#Include"Components/StaticMeshComponent.h">
您如何知道何时需要这样做
简言之,如果你只是向一个类传递指针,你可以用class ClassNameHere
向前声明并完成它。否则,你需要#include
头文件。
"指向不完整类类型的指针"错误通常是缺少#include
的一个指示符。