我使用auto x = new int[F][N];
在堆上创建了一个数组数组。创建工作正常。但是,当我尝试使用
auto x = new int[F][N];
for (long i = 0; i < F; i++) {
delete[] x[i];
}
我遇到了细分错误。根据我的理解,这是删除数组数组的正确方法。但很明显,我在这里错了。有人可以提出更好的选择吗?
答案 0 :(得分:1)
使用new[]
创建的所有内容都必须使用delete[]
删除。 x
中包含的数组是在初始new[]
期间分配和初始化的。无需手动删除它们,因为它们的存储和生存期与外部阵列有关。因此,您只需要delete[] x
。