在我的示例程序中,我在下一行收到“堆损坏”错误。
ofstream filePossibleHaplotype;
“Windows 已在 Project_Name.exe 中触发断点。这可能是由于堆损坏,这表明 Project_Name.exe 或其已加载的任何 DLL 中存在错误。”
文件流对象的声明如何导致此错误?
[编辑 - 添加了几段代码] SET = 1 NOT_SET = 0 LENGTH = 5
void fill_Unique_Bit_Array()
{
int zeroFlag = NOT_SET;
int oneFlag = NOT_SET;
bit_array = new int(LENGTH);
for(int i =0; i<LENGTH; i++)
{
for(int j =0; j<NUMBER_OF_READS; j++)
{
if(readMartixArray[j][i] == '0')
zeroFlag = SET;
else if (readMartixArray[j][i] == '1')
oneFlag = SET;
}
if(zeroFlag==SET && oneFlag==SET)
bit_array[i] = SET + SET;
else if(zeroFlag==SET && oneFlag==NOT_SET)
bit_array[i] = NOT_SET;
else if(zeroFlag==NOT_SET && oneFlag==SET)
bit_array[i] = SET;
zeroFlag = NOT_SET;
oneFlag = NOT_SET;
}
reverse_bit_array = array_Reverse(bit_array, LENGTH);
}
这个函数调用,
void find_all_possible_combinations(int ,int, int, int )
{
ofstream filePossibleHaplotype;
}
这会导致堆内存崩溃。