只是一個很小的問題:Codepad.org C++代碼提供了錯誤的結果
你能告訴我這裏的問題this代碼?它應該打印出9
但它確實4.8921e-270
,但是,當取消註釋第4行時,它也可以正常工作。
我不明白這裏可能有什麼問題。謝謝 !
代碼:
double& foo() {
double x = 9;
double &y = x;
//cout << y << "\n";
return y;
}
int main() {
cout << foo() << "\n";
}
結果: 4.8921e-270
你期望值'9'被存儲在哪裏? –
使x和y保持靜態。如果他們不是,你不知道從foo()返回的是什麼。 –
@PeteWilson:這裏沒有理由讓'y'變成靜態的。 –