【发布时间】:2012-06-12 02:02:18
【问题描述】:
我有一个在网上找不到的快速问题。
我正在使用 CUDA 做一些 GPU 工作,我需要在 GPU 上分配一些数据。 cudaMalloc 函数是这样的:
cudaMalloc(void** identifier, size_t space);
很简单。所以,让我们分配一个整数。
int i = 5;
cudaMalloc((void**)&(&i), sizeof(int));
但是这个错误(“表达式必须是左值或函数指示符”)。明显的解决方法是将i 声明为开头的指针,然后获取它的地址,这非常好;我只是讨厌变通方法。
我觉得这个问题应该有一个明显的答案 - 毕竟,**、*** 甚至 ********** 在 C 中都可以正常工作。那么,我如何获得变量地址的地址'干净'?
谢谢!
【问题讨论】: