6

在编译程序时我的这部分代码。此错误显示:““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);
4

1 回答 1

9

的第二个论点cudaMemcpy()是错误的。它是一个指针 ( const void*) 并且您提供一个int.

你的意思是写:

cudaMemcpy(dev_array_length, &array_length, 1*sizeof(int), cudaMemcpyHostToDevice);
                             ^
于 2013-04-10T06:44:24.587 回答