0

我试图为 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)”

4

0 回答 0