二维指针的new和delete
New:
A** ga = new A*[m];
for(int i = 0; i < m; i++)
{
ga[i] = new A[n];
}
Delete:
for(int i = 0; i < m; i++)
{
delete []ga[i];
}
delete []ga;
应此
ClassDataSet类中应该补一个析构函数
比如:
ClassDataSet::~ClassDataSet()
{
ClearValue();
}
New:
A** ga = new A*[m];
for(int i = 0; i < m; i++)
{
ga[i] = new A[n];
}
Delete:
for(int i = 0; i < m; i++)
{
delete []ga[i];
}
delete []ga;
应此
1
2
3
4
5
6
7
8
9
10
|
void
ClassDataSet::ClearValue()
{
for
(
long
k=0;k<NumRow;++k)
{
delete
[]
this
->value[k];
}
delete
[]
this
->value;
this
->NumCol=0;
this
->NumRow=0;
}
|
ClassDataSet类中应该补一个析构函数
比如:
ClassDataSet::~ClassDataSet()
{
ClearValue();
}