CUDA: аргумент типа float несовместим с параметром типа void *

когда я определил два массива с плавающей запятой следующим образом:

float* d_A, d_B;
cudaMemcpy(d_B,h_B,size,cudaMemcpyHostToDevice);

Я получаю сообщение об ошибке относительно массива d_B

аргумент типа "float" несовместим с параметром типа "void *"

если бы я определил массивы следующим образом:

float* d_A;
float* d_B;

работает нормально и ошибка исчезает. что тут может быть не так? Я использую NSight Visual Studio версии 3.2.


person Mina Wissa    schedule 18.01.2014    source источник


Ответы (1)


*, определяющий указатель, принадлежит переменной, а не типу. Итак, чтобы инициализировать его в той же строке, используйте

float *d_A, *d_B;

Помещение * рядом с переменной без пробела также делает ее более очевидной.

person Femaref    schedule 18.01.2014