在编译程序的这部分代码中。此错误显示:"类型" 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);
答案 0 :(得分:8)
cudaMemcpy()
的第二个参数是错误的。它是一个指针(const void*
),你提供的是int
。
你的意思是写:
cudaMemcpy(dev_array_length, &array_length, 1*sizeof(int), cudaMemcpyHostToDevice);
^