サンプルプログラムでは、次の行で「ヒープの破損」エラーが発生します。
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;
}
これはヒープメモリのクラッシュにつながります。