问题描述
我最近在使用 Xcode 用 C++ 进行开发时经常遇到这个 EXC_BAD_ACCESS
问题。这一次,我想不出哪里出了问题。
我有这个应该足够简单的函数,只是一种计算文件中有多少行的方法:
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
类文件和错误代码的错误:
线程 1:EXC_BAD_ACCESS(代码=1,地址=0x7000000070)
这是导致此错误的原因:
我不确定是什么导致了这个问题。僵尸对象似乎无法帮助我找到问题的根源,或者我可能只是不了解如何正确启用它们。
解决方法
感谢您的帮助。我发现问题在于我如何处理我创建的对象中的数组。我将所有内容都移到 std::array 而不是 int* 并且我的内存错误消失了。