错误“表达式必须具有整数或枚举类型”在这就是代码:在“Z”错误“表达式必须具有整数或枚举类型”在这就是代码:
__global__ void VectorKernel(float *a, float *b, float *c, int n)
{
int i = threadIdx.x;
float y = 0, z = 0;
if (i < n)
y = (b-a)/n;
for (float j = y; j <= n ; j++) {
z = (((j+y) - j)/6) * function(j) + 4 * (function((j + (y+j))/2)) + function(y+j);
c = c + z;
}
}
错误发生,在拉伸:
c = c + z;
(我在CUDA编程初学者)
'c'是一个**指针**。你不应该把'z',一个'float'的数量加到指针上。也许你的意思是'* c = * c + z;'。这是一个C编程问题,不是CUDA特有的。 'b'和'a'也是指针,所以在我看来''(b-a)'不是你想要的东西。 –
谢谢! 我不会发布我将变量移动到GPU进行处理的部分。 –