我有一个System.AccessViolationException,但我不知道这怎么可能。我将数组缩小到一个简单的范围:
analyzedReal[0][0][0] <- works
analyzedReal[1][0][0] <- fails.
这是我的代码:
--in temp.h --
double*** analyzedReal;
double*** analyzedImag;
--in temp.cpp :--
int nbAnalyses = 215;
analyzedReal = new double**[nbAnalyses];
analyzedImag = new double**[nbAnalyses];
for (int i = 0; i < nbAnalyses; i++)
{
analyzedReal[i] = new double*[2048];
analyzedImag[i] = new double*[2048];
for (int j = 0; j < 2048; j++)
{
analyzedReal[i][j] = new double[10];
analyzedImag[i][j] = new double[10];
}
}
奇怪的是,它只发生在数组analyzeReal上而不发生在analyzeImag上
我认为这是某种内存泄漏,所以我重新启动但没有运气。