为什么RGB连接add会报错?

问题遇到的现象和发生背景
遇到的现象和发生背景,请写出第一个错误信息
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
运行结果及详细报错内容
我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%

img

float2 float3,这些没有定义

该回答引用GPTᴼᴾᴱᴺᴬᴵ
根据错误提示,出现了“error C2678: binary '+': no operator found which takes a left-hand operand of type 'const FLinearColor' (or there is no acceptable conversion)”的错误,提示无法找到适合的+运算符重载函数,可能是左操作数FLinearColor类型和右操作数const FLinearColor类型不匹配导致的。
·
在UE4中,FLinearColor类型表示颜色值,其中R、G、B分别代表红、绿、蓝三个通道的颜色值。在代码中,通过FLinearColor类型的对象进行颜色的计算和操作,例如相加、相减等。
·
根据代码截图,RGB连接的方式是将三个FLinearColor类型的对象相加,即:

FLinearColor(0.9, 0.1, 0) + FLinearColor(0.5, 0.5, 0.5) + FLinearColor(0.2, 0.2, 0.2)

这个操作中,三个操作数都是FLinearColor类型,因此不会存在类型不匹配的问题。但是根据错误提示,出现了类型不匹配的错误。
·
可能的原因是在代码其他位置或其他文件中对+运算符进行了重载,重载的返回类型和FLinearColor类型不匹配,导致编译器无法匹配到适合的+运算符重载函数。解决方法是查找代码中对+运算符的重载,并检查其返回类型是否正确。
·
另外,也可以尝试将RGB的三个值分别相加,然后再创建一个新的FLinearColor对象,例如:

FLinearColor Color = FLinearColor(0.9 + 0.5 + 0.2, 0.1 + 0.5 + 0.2, 0 + 0.5 + 0.2);

这样可以避免直接使用+运算符导致的类型不匹配问题。