我试图为 cl_float4 创建一个覆盖。
定义:
cl_float4 operator- (const cl_float4 &V1, const cl_float4 &V2);
执行:
cl_float4 operator- (cl_float4 &V1, cl_float4 &V2){
return {V1.x - V2.x, V1.y - V2.y, V1.z - V2.z, V1.w - V2.w};
}
现在当我做类似的事情时:
cl_float4 a = {1,2,3,4}, b = {4,3,2,1};
cl_float4 c = a - b;
一切正常,但是:
cl_float4 a = {1,2,3,4},b = {4,3,2,1};
cl_float4 c = a - b - b;
给出错误:“二进制表达式的操作数无效(cl_float4 和 cl_float4)”