いくつかの演算子がオーバーロードされたこの構造体の配列があります
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 カーネルのような状況では、私が必要としていたことが可能だとは思いません。しかし、私は私の問題を解決しました。設計ミスでした。