0

我在 test.h 文件中有: double *condmatrix- 全局变量然后在主程序中执行:

cycle_start {
    proc1() {
    condmatrix = new double[maxdim];
    ....simple work with the array itself
    }
    proc2() {
    delete [] condmatrix;
    }
}//cycle finish

这给了我一个段错误。我尝试用 [] 语法删除,没有和其他方式,它仍然给出一个段错误。Maxdim 因周期而异。

4

1 回答 1

0

好吧,我发现我分配了两次指针,即:

condmatrix = new double [maxdim];
condmatrix = new double [maxdim];
delete [] condmatrix;

我知道这不应该导致问题,但显然它确实如此,因为在重写代码分配一次后,它工作得很好。也许有一些内存损坏,我偶尔会修复。

于 2013-04-11T14:52:14.520 回答