Как получить адрес адреса переменной (&& — ошибка компилятора)?

У меня есть быстрый вопрос, который я не могу найти в Интернете.

Я использую CUDA для некоторых операций с графическим процессором, и мне нужно немного данные, выделенные на графическом процессоре. Функция cudaMalloc выглядит следующим образом:

cudaMalloc(void** identifier, size_t space);

Достаточно просто. Итак, давайте выделим целое число.

int i = 5;
cudaMalloc((void**)&(&i), sizeof(int));

Но это ошибка ("выражение должно быть lvalue или указателем функции"). Очевидный обходной путь: объявить iв качестве указателя для начала, а затем взять его адрес, и это отлично работает, я просто ненавижу обходные пути

Я чувствую, что на этот вопрос должен быть очевидный ответ — после все, **, ***и даже **********отлично работают в C. Итак, как мне получить адрес адреса переменной "чисто"?

Спасибо!

0
задан Eric Thoma 12 June 2012 в 02:02
поделиться