2013-11-24 110 views
0

我真的不理解的錯誤:不兼容的類型參數

:58:錯誤:不兼容類型的 'sumData'

說法1:14:注:應爲 '雙*',但爭論的類型爲「雙重」

下面是該錯誤報告提到的代碼:(?或C)

: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

假設這是在C++中。數組通過引用傳遞。數組名稱是指向第一個內存位置的指針。在你的情況下,你需要傳遞數據而不是數據[大小],因爲後者最終會傳遞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. 
+0

我在C.謝謝你! – leovic