有人可以解释一下为什么这段代码不起作用吗?
__kernel void foo(__global const void* a)
{
__global const uchar* currentPosition = (__global uchar*) a;
// Update the position
currentPosition += 4;
}
当我尝试在增量后读取currentPosition的值时,得到与不进行算术时相同的结果。
为什么会这样?
谢谢。
答案 0 :(得分:1)
这可能是你声明currentPosition的'const'关键字。 C ++不允许您修改值。您在声明时已经设置了currentPosition。
答案 1 :(得分:0)
对不起家伙,但我是OpenCL的新手:(