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

mil*_*d_b 4 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);
Run Code Online (Sandbox Code Playgroud)

NPE*_*NPE 8

第二个论点cudaMemcpy()是错误的.它是一个指针(const void*),你提供一个int.

你的意思是写:

cudaMemcpy(dev_array_length, &array_length, 1*sizeof(int), cudaMemcpyHostToDevice);
                             ^
Run Code Online (Sandbox Code Playgroud)