我是C++的新手.我使用Visual Studio.我的调试版本按预期工作,但发布版本因访问冲突而崩溃.结构:
struct GeneticData
{
int NumberOfIdDataPairs;
char** IdBuffer;
char** DataBuffer;
};
Run Code Online (Sandbox Code Playgroud)
IdBuffer是一个由20个字符组成的char数组,Databuffer是一个由102个字符组成的字符数组.返回指针的函数:
GeneticData* LoadData(FILE* dataFilePtr) //dataFilePtr is valid in the function
{
char* result = NULL;
int fileLine = 0;
GeneticData geneticData = *new GeneticData();
geneticData.NumberOfIdDataPairs = *new int;
geneticData.IdBuffer = new char*[gSizeOfBuffer];
geneticData.DataBuffer = new char*[gSizeOfBuffer];
for (int i = 0; i < gSizeOfBuffer; i++)
{
geneticData.IdBuffer[i] = new char[gSizeOfId];
geneticData.DataBuffer[i] = new char[gSizeOfData];
}
do
{
result = fgets(geneticData.IdBuffer[fileLine], gSizeOfId, dataFilePtr);
fgets(geneticData.DataBuffer[fileLine], gSizeOfData, dataFilePtr);
fileLine++;
} while …Run Code Online (Sandbox Code Playgroud)