我有一個函數,當我嘗試編譯它時,給出了錯誤「無法從'int'轉換爲'int &''」。C++中的參考函數
int& preinc(int& x) {
return x++;
}
如果我用x替換x ++,它會編譯,但我不確定它是如何使它有任何不同。我認爲x ++在x遞增之前返回x,所以不應該將「return x ++」與preinc返回的「return x」相同?如果問題出在++操作符上,那麼爲什麼如果我在return語句之前或之後放置「x ++」行,或者用++ ++替換x ++,它會不會產生任何錯誤?
我會稱之爲「postinc」而不是「preinc」.... – 2011-06-09 11:07:05
謝謝大家誰回答了這個問題。我沒有意識到x ++做了一個臨時副本。現在有道理。 – 2011-06-09 11:15:41
您需要接受以下答案之一。 – 2011-06-28 11:50:48