我有这个结构数组,其中一些运算符重载
struct xyz
{
int x; float y;
};
std::vector<xyz> a1,a2,a3;
当我将其用作
a1 [ a2 [ i ] ] = a3 [ i ]
//by this I mean
//a1 [ a2 [ i ].x ].x = a3 [ i ].x
//a1 [ a2 [ i ].x ].y = a3 [ i ].y
我收到此错误“\OCL6D24.tmp.cl”,第 236 行:错误:表达式必须具有整数或枚举类型
我在 OpenCL 内核中使用它。但是这个问题类似于普通的 C++ 程序。我该如何解决这个问题?
更新:我认为我需要的东西是不可能的,尤其是在 OpenCL 内核的情况下。但我解决了我的问题。这是一个设计缺陷。