程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c++-關於C++中文件輸入輸出流作為函數參數傳遞的問題

c++-關於C++中文件輸入輸出流作為函數參數傳遞的問題

編輯:編程綜合問答
關於C++中文件輸入輸出流作為函數參數傳遞的問題
今天學習C++輸入輸出流的時候,遇到一個問題,先貼代碼:

void foutput (ofstream &fout, int m) {
    for (int i=1;i<=m;i++) {
        fout << i*i+0.5;
    }
}

上面這個函數的參數中用了一個ofstream類的變量,在下面使用的時候就發現不能直接把ofstream類的實體用到函數中,編譯會出錯。然後,我把“ofstream fout”變成“ofstream &fout”,也就是用了引用,編譯就通過了,不知道這是為什麼。謝謝回答先

最佳回答:


不用引用,當調用foutput(...)的時候就會復制一個新的ofstream 對象。

實現上, Linux gcc, 將ofstream的基類basic_ios的復制構造函數定義為私有函數,這樣禁止對ofstream對象的復制。

實際來說,ofstream對應的是一個輸出文件,支持復制構造會出亂子。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved