我真的不明白错误:
:58:错误:'sumData'
的参数1的类型不兼容:14:注意:预期'double *'但参数类型为'double'
以下是错误报告所引用的代码:
:14: double sumData(double data[],int size);
int main(){
. . .
int size;
double sData;
. . .
double data[size];
. . . .
:58: sData=sumData(data[size],size);
. . .
return 0;
}
答案 0 :(得分:0)
假设这是In C ++(或C?)。数组通过引用传递。数组名称是指向第一个内存位置的指针。在你的情况下,你需要传递数据而不是数据[size],因为后者最终传递data [size]的值(由于你的数组长度是大小但是数组是通过索引访问的,因此应该超出范围(所以在技术上)你会达到规模-1)。
以下是修复它所需要做的事情:
sData=sumData(data,size); // when you pass data, you're passing the address of the first memory location that data points to.