2014-03-02 83 views
0

我在輸入代碼時遇到問題。錯誤:無法將類型「double *」的值分配給類型爲「double」的實體

... 
double* FindMax(const double* const arr, int n) 
{ 
    double max; 
    ... 
    return &max; 
} 

int main() 
{ 
    ... 
    maxVal = FindMax(value, numbers); 
    ... 
} 

當我調用函數FindMax時,程序錯誤,並且不允許我傳遞值來使用FindMax函數。 我怎樣才能讓它成爲可能,非常感謝!

+0

是否有原因需要返回指針而不是值? –

回答

5

兩件事,如果maxVal是雙倍的,則不能指定&max的值。它應該是double *。其次,永遠不會返回局部變量的地址。因爲一旦你從函數返回,局部變量死亡。

+0

第一個是正確的。 但你能解釋第二個問題嗎? – fungso

+0

如何獲得最大值? – fungso

+0

只需'返回最大值',如果你只想要值,就不需要返回地址。 –

相關問題