【发布时间】:2013-04-11 13:54:21
【问题描述】:
我在 test.h 文件中有:
double *condmatrix - 全局变量
然后在我做的主程序中:
cycle_start {
proc1() {
condmatrix = new double[maxdim];
....simple work with the array itself
}
proc2() {
delete [] condmatrix;
}
}//cycle finish
这给了我一个段错误。我尝试用 [] 语法删除,没有和其他方式,它仍然给出一个段错误。 Maxdim 因周期而异。
【问题讨论】:
-
看起来不错。你能给我们一个最小的完整例子吗?
-
也许你试图删除它两次
-
maxdim 的值是多少?见 [链接] (stackoverflow.com/questions/1087042/…)
-
不,maxdim 不等于零。在循环中,我所做的就是用随机数填充它,然后对每个元素进行归一化(使总和等于 1)
-
您可能在某处损坏了内存。检查你是否越界。
标签: c++ segmentation-fault global-variables