有关析构函数的问题
各位大侠帮帮忙呀!下面是小弟写的一个类,我在Form中调用的时候析构函数在执行delete TSLGrid的时候总是出错不知道为什么。还有我在Form中访问fGridData的数据时总是出错。当采用静态分配或不在析构函数中delete fGridData 就不出错。在我的访问过程中程序自动调用过一次析构函数.我的访问过程如下:CGrid CGData; ..... ; CGData = CGrid(FileName);(此时自动调用一次析构函数。)请各位大侠帮忙解决!
#define MAXCOUNT 30000
class CGrid{
public:
CGrid(){}
CGrid(AnsiString FileName);
~CGrid();
float *fGridData;
private:
TStringList *TSLGrid;
};
CGrid::CGrid(AnsiString FileName)
{
TSLGrid = new TStringList();
fGridData = new float [MAXCOUNT];
assert(fGridData != 0);
.........................
此处程序产生fGridData数组
.........................
}
CGrid::~CGrid()
{
delete [] fGridData;
delete TSLGrid;
ASName.~AnsiString();
}