c*****z 发帖数: 182 | 1 我写了两个很简单的模板程序,一个用来分配一个二维数组,一个用来删除一个二维数组:
template // 分配数组
T ** allocate_matrix2D(int row, int col)
{
T ** result = new T *[row];
for (int i = 0; i < row; i ++)
{
result[i] = new T[col];
}
return result;
}
template //删除数组
void destroy_matrix2D(T ** matrix, int row, int col)
{
for (int i = 0; i < row; i ++)
delete[] matrix[i];
delete[] matrix;
}
问题是,编译可以通过,但是删除数组的程序一运行就出内存错误,请问是为什么啊 | T*******i 发帖数: 4992 | 2 你怎么调用的?
组:
【在 c*****z 的大作中提到】 : 我写了两个很简单的模板程序,一个用来分配一个二维数组,一个用来删除一个二维数组: : template // 分配数组 : T ** allocate_matrix2D(int row, int col) : { : T ** result = new T *[row]; : for (int i = 0; i < row; i ++) : { : result[i] = new T[col]; : } : return result;
| c*****z 发帖数: 182 | 3 刚发现,调用的时候弄错了!多谢!
【在 T*******i 的大作中提到】 : 你怎么调用的? : : 组:
| c*******g 发帖数: 771 | |
|