2014-10-28 147 views
-7

這是我的程序的一部分,我需要返回長度的值返回主 任何幫助?如何從void函數返回值?

void getLength(double length) 
{ 
cout << "Enter the length: "; 
cin >> length; 
if (length < INVAL){ 
    cout << "Do not accept negative values for length. Try again: "; 
    cin >> length; 
} 
return length; 
} 
.... 
int main() 
{ 
double length = 0; 
double width = 0; 
double area = 0; 

getLength(length); 
getWidth(width); 
calcArea(length, width, area); 
printData(length, width, area); 
} 
+1

a)無效,b)引用,c)指針... – deviantfan 2014-10-28 22:55:45

+0

爲什麼不將返回類型從'void'更改爲'int'? – taocp 2014-10-28 22:56:17

+0

這會返回值嗎? – Jake 2014-10-28 22:57:44

回答

0

將參數長度作爲參考。 void getLength (double & length)並刪除退貨。調用該函數後,傳遞的參數在函數中具有賦予它的值。

+0

我認爲這並不比使用返回值更清晰。函數接受輸入參數並輸出返回值是很自然的。 – chris 2014-10-28 23:02:37

+0

這解決了它!謝謝! – Jake 2014-10-28 23:04:31

1

這是一個鎖定房間的神祕嗎?

最簡單的方法是將其從空白改爲雙精度型。或者,您可以讓該函數修改main中的公共變量。

你是否需要保持它無效?

+0

不,我不知道。我只需要獲取該函數的長度並將其返回到主 – Jake 2014-10-28 23:01:19

+0

只需將其從void更改爲double即可。 – 2014-10-28 23:08:11