这样的结构,如何写他的析构函数呢?
struct cat_tbl {
int table_id;
int cat_id;
int version_number;
int indicator;
vector <struct TooCat*> too_cat;
};
struct TooCat{
int tr_id;
int or_id;
}
[解决办法]
噢,没认真看第一个结构还有个指针,若指针不是空指针,那就析构时释放指针指向的内存
[解决办法]
struct cat_tbl {
~cat_tbl();
int table_id;
int cat_id;
int version_number;
int indicator;
vector <struct TooCat*> too_cat;
};
cat_tbl::~cat_tbl()
{
for (int i=0; i <too_cat.size(); ++i) delete too_cat[i];
}
[解决办法]
这个结构体而言,析构函数无需的写出来,至于存放指针的vector
你的指针处理的需交给vector处理,这样符合逻辑