C++ Cudamaloc不';不能使用模板

C++ Cudamaloc不';不能使用模板,c++,C++,但它不起作用。我想它一定是带有&和点的东西…你不能把指针转换成指针。数据的类型为T*,但Cudamaloc需要void** 试试这个: float data[2]; gpu_load(data); cudaMalloc(静态铸造和铸造),N*sizeof(T)); 记下新的符号和 编辑:添加了评论中建议的静态演员阵容。这与CUDA无关。你用这行代码做了不好的事情。(void**)数据@AnycorncudaMalloc需要一个void**。是的,但nvidia Stanford类将此作为一个

但它不起作用。我想它一定是带有&和点的东西…

你不能把指针转换成指针。数据的类型为
T*
,但Cudamaloc需要
void**

试试这个:

float data[2];
gpu_load(data);
cudaMalloc(静态铸造和铸造),N*sizeof(T));
记下新的符号和


编辑:添加了评论中建议的静态演员阵容。

这与CUDA无关。你用这行代码做了不好的事情。
(void**)数据
@Anycorn
cudaMalloc
需要一个
void**
。是的,但nvidia Stanford类将此作为一个例子,你所说的“它不工作”是什么意思?如果你尝试这个,你会看到,它会将垃圾加载到gpu ram。在哪里放置静态\u cast(&d)?@SkyRipper我运行了代码,它编译时没有任何错误。你需要给我们更多的背景。然后查看编辑,了解
static\u cast(&d)
的位置。
float data[2];
gpu_load(data);
cudaMalloc(static_cast<void**>(&d), N*sizeof(T));