这不是我的确切代码,但本质上是这样的。我正在尝试在 main() 中创建一个堆栈变量
诠释**x;
我想传递给函数 foo(int **x, arg1, arg2, ...)。在某些情况下,我应该在 foo() 中为 x 动态分配空间
x = (int **) malloc(sizeof(int *) * num_elems);
我也没有为每个 int * 元素分配新空间,而是分配给它 &y,其中 int y 是在 foo() 中创建的。
当我尝试在 main() 中释放 x 时出现此错误。我不明白这是什么意思,但我怀疑可能是因为我使用了 &y?
编辑:也相关:当我尝试访问 x 的双重取消引用元素时,我得到了垃圾值。