我在test.h文件中:
double *condmatrix
- 全局变量
然后在主程序中我做:
cycle_start {
proc1() {
condmatrix = new double[maxdim];
....simple work with the array itself
}
proc2() {
delete [] condmatrix;
}
}//cycle finish
这给了我一个段错误。我尝试使用[]语法删除,没有和其他方式,它仍然给出了段错误。 Maxdim因循环而异。
答案 0 :(得分:0)
好的,我发现我分配了两次指针,即:
condmatrix = new double [maxdim];
condmatrix = new double [maxdim];
delete [] condmatrix;
我知道这不应该导致问题,但显然它确实如此,因为在重写代码分配一次后,它完美无缺。也许有一些内存损坏,我偶尔会修复。