错误:类型“int”的参数与类型“const void *”的参数不兼容

时间:2013-04-10 06:39:00

标签: cuda

在编译程序的这部分代码中。此错误显示:"类型" int"的参数与" const void *"类型的参数不兼容。我声明变量如下:

int *dev_matrix, *dev_array, *dev_array_length;
int array_length=1;
cudaMalloc((void**)&dev_array_length, 1*sizeof(int));
cudaMemcpy(dev_array_length, array_length, 1*sizeof(int), cudaMemcpyHostToDevice);

1 个答案:

答案 0 :(得分:8)

cudaMemcpy()的第二个参数是错误的。它是一个指针(const void*),你提供的是int

你的意思是写:

cudaMemcpy(dev_array_length, &array_length, 1*sizeof(int), cudaMemcpyHostToDevice);
                             ^