[英]EXC_BAD_ACCESS error when using getline() in ifstream
我最近在使用 Xcode 在 C++ 中開發時經常遇到這個EXC_BAD_ACCESS
問題。 這一次,我不知道出了什么問題。
我有這個 function 應該很簡單,只是一種計算文件中有多少行的方法:
int getNumLines(string file)
{
int lineCount = 0;
string line;
ifstream textFile;
textFile.open(file);
if( textFile.is_open() && !textFile.ios_base::fail() )
{
while(getline(textFile, line))
{
lineCount++;
}
}
textFile.close();
return lineCount;
}
每次我運行我的代碼時,我都會得到這行錯誤導致返回fstream
class 文件,以及錯誤代碼:
線程 1:EXC_BAD_ACCESS(代碼=1,地址=0x7000000070)
這是此錯誤導致的地方:
我不確定是什么導致了這個問題。 僵屍對象似乎無法幫助我找到問題的根源,或者我只是不了解如何正確啟用它們。
感謝你的幫助。 我發現問題在於我在創建的對象中如何處理 arrays。 我將所有內容都移至 std::array 而不是 int* 並且我的 memory 錯誤消失了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.