Cuda 为什么显示cu(10):错误:应为“a”)&引用;在c文件中

Cuda 为什么显示cu(10):错误:应为“a”)&引用;在c文件中,cuda,Cuda,这个问题看起来很容易解决,但我一直在找,没有找到需要添加a)的地方 #包括 #定义N 512 __全局无效添加(int*a、int*b、int*c){ //*c=*a+*b; c[blockIdx.x]=a[blockIdx.x]+b[blockIdx.x]; } 无效随机输入(输入*温度,输入N){ int i; 对于(i=0;i

这个问题看起来很容易解决,但我一直在找,没有找到需要添加a)的地方

#包括
#定义N 512
__全局无效添加(int*a、int*b、int*c){
//*c=*a+*b;
c[blockIdx.x]=a[blockIdx.x]+b[blockIdx.x];
}
无效随机输入(输入*温度,输入N){
int i;
对于(i=0;i
文件的主要目的,但我认为这无关紧要


我想在GPU中分配空间来计算数组,只需将数组A的元素和数组B的元素添加到数组C

预处理器将替换
N
宏:

#include <stdio.h>
#define N 512

void random_ints(int* temp, int N){
    int i;
    for (i = 0; i < N; i++ ){
        temp[i] = rand();
    }
}
#包括
#定义N 512
无效随机输入(输入*温度,输入N){
int i;
对于(i=0;i
将替换为:

#include <stdio.h>

void random_ints(int* temp, int 512){
    int i;
    for (i = 0; i < 512; i++ ){
        temp[i] = rand();
    }
}
#包括
无效随机整数(整数*温度,整数512){
int i;
对于(i=0;i<512;i++){
temp[i]=rand();
}
}
you函数的原型出错了

你可以写:

void random_ints(int* temp, int size){
    int i;
    for (i = 0; i < size; i++ ){
        temp[i] = rand();
    }
}
void random_ints(int*temp,int size){
int i;
对于(i=0;i
您好,如果您曾经遇到过这样的语法问题,但您找不到它。从删除行开始,直到有一个再现问题的最小示例。我怀疑如果你这样做的话,你自己会发现问题的。我不明白。你投票决定结束这个问题,但你却回答了?
void random_ints(int* temp, int size){
    int i;
    for (i = 0; i < size; i++ ){
        temp[i] = rand();
    }
}