0
當我嘗試編譯我的程序我得到錯誤c0000374 ......什麼會導致呢? 期間,調試器進入initGlobalVectorP()函數,然後崩潰。 將數據分配給內存可能會影響該問題?嚴重錯誤 - > c0000374
FemGrid::FemGrid(int dimension)
{
this->dimension = dimension;
initGlobalMatrixH();
initGlobalVectorP();
}
FemGrid::~FemGrid()
{
free(*globalMatrixH);
free(globalMatrixH);
free(globalVectorP);
}
void FemGrid::initGlobalMatrixH()
{
globalMatrixH = static_cast<double**>(malloc(sizeof(int) * dimension));
for (int i = 0; i < dimension; i++)
{
globalMatrixH[i] = static_cast<double*>(malloc(sizeof(int) * dimension));
}
for (int i = 0; i < dimension; i++)
{
for (int j = 0; j < dimension; j++)
{
globalMatrixH[i][j] = 0.0;
}
}
}
void FemGrid::initGlobalVectorP()
{
globalVectorP = static_cast<double*>(malloc(sizeof(int) * dimension));
for (int i = 0; i < dimension; i++)
{
globalVectorP[i] = 0.0;
}
}
可能是因爲您分配'4 *字節for'循環您希望您分配的空間dimension'量,但在''8 *的字節空間dimension'量(和經歷這一切,擊中未分配的空間邊界在'維度/ 2'處)。 –