在一个结构体中动态创建另一个结构体数组,那么怎样释放内存!求助,谢谢了!

struct Link_Info
{
int Destination_VertexID;
int Vertex_To_Vertex_LinkID;
int Cost_of_Link;

};

struct Vertex_Info {
int OutDegree;
int Vertex_Num;
Link_Info* out = new Link_Info[8];
};

Vertex_Info* Vertex_Chain = new Vertex_Info [600];

Vertex_Chain[0].Vertex_Num
->
600

我使用下面的方式释放的
for (int i = 0; i < Vertex_Chain[0].Vertex_Num; i++)
{
delete [] Vertex_Chain[i].out;
}
delete[] Vertex_Chain;

 可以给结构体编写析构函数。
struct Vertex_Info {
...
~Vertex_Info ()
{
delete[] out;
}
}

你的外侧循环的是Vertex_Chain数组长度,不是Vertex_Chain第一个元素的Vertex_Num长度