close
第一條紅線是使用ifstrem宣告file變數時所顯示的檔名,而檔名fileName變數則是在初始化建構子時就定好的。fileName在開檔時只不過是個參數,卻會在開檔完之後出現怪異的字串。且會在執行期間修改非法的記憶體位置,導致程式當機。而使用fstream宣告file變數則會如第二條紅線正常顯示。且在出現錯誤的時候及時停止執行。
把ifstream改成fstream就能改善這個問題。
本人不知道問題確實出在哪裡,但由此可知ifstream和fstream確實存在著一種差別。
全站熱搜