UE5 binary '=': no operator found which takes a right-hand operand of type
  3cAxQ5E22S4z 2023年11月02日 52 0

问题

Error C2679 binary '=': no operator found which takes a right-hand operand of type 'const FVector2D' (or there is no acceptable conversion)


代码

CenterVertex.Position = Center;

Position和Center都是FVector2D类型

/**
 * A vector in 2-D space composed of components (X, Y) with floating point precision.
 * @note The full C++ class is located here: Engine\Source\Runtime\Core\Public\Math\Vector2D.h
 */
USTRUCT(immutable, noexport, BlueprintType, meta=(HasNativeMake="Engine.KismetMathLibrary.MakeVector2D", HasNativeBreak="Engine.KismetMathLibrary.BreakVector2D"))
struct FVector2D
{
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=Vector2D, SaveGame)
	FLargeWorldCoordinatesReal X;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=Vector2D, SaveGame)
	FLargeWorldCoordinatesReal Y;
};


解决

	CenterVertex.Position.X = Center.X;
	CenterVertex.Position.Y = Center.Y;


原因

目前编译器不支持结构体实例的复制,只能针对结构体的字段,逐一复制

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

3cAxQ5E22S4z