首页 > 编程语言 > 详细

Unreal C++不允许指针指向不完整的类类型(踩坑)

时间:2020-04-20 16:29:50      阅读:319      评论:0      收藏:0      [点我收藏+]

不知道是Unreal Runtime变严格了还是还是框架有变,官方视频4.09貌似就没有报错:不允许指向不完整的类型,可能是Unreal把导出的runtime给精简了,我用4.24两个Component都需要自己手动引用.h文件。
好在通过VS大概能确定需要引用哪个.h,不然我还要全网搜索太麻烦。

// SpawnVolumn.h
private:
	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Spawning", 
            meta = (AllowPrivateAccess = "true"))
	class UBoxComponent* whereToSpawn;

// SpawnVolumn.cpp
FVector ASpawnVolumn::GetRandomPositionVolumn()
{
        // 编译器报错:whereToSpawn不允许指针指向不完整的类类型
	FVector SpawnOrigin = whereToSpawn->CalcBounds().Origin; 
	FVector SpawnExtend = whereToSpawn->GetScaledBoxExtent();

	return UKismetMathLibrary::RandomPointInBoundingBox(SpawnOrigin, SpawnExtend);
}

class UBoxComponent其实我是不知道这个UBoxComponent定义在哪里,官方视频里也没有去引用某个.h文件,好在VS足够强大,右键‘转到定义’,VS会索引到几个UBoxComponent相关.h,一般引用文件在Engine下
技术分享图片

需要手动写明引用头文件#include "Runtime/Engine/Classes/Components/BoxComponent.h"

后续一系列的“不允许指针指向不完整的类类型”报错都可以用这种方式解决。

Unreal C++不允许指针指向不完整的类类型(踩坑)

原文:https://www.cnblogs.com/bylle/p/12683578.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!