合并/加入两个结构

时间:2013-12-19 14:01:02

标签: c++ struct

我在这里有一个问题,我需要你的帮助。假设我有两个结构如下:

struct HE_edge
{
   double k;
}

struct HE_vert
{
 double x,y,z;
 HE_edge *e;
}
 HE_vert *head=0;
 int main()
 {

HE_vert *vert;
vert = new HE_vert;

HE_edge *ei;
ei = new HE_edge;

vert->x = 0.5;
vert->y = 1.5;
vert->z = 5.6;
vert->e->k = 10.3;
 }

这里的问题是,我想将HE_vert连接到HE_edge。但是当我运行程序时出现错误“halfedge.exe中的0x008c1cd6处的未处理异常...”。有人可以向我解释,为什么会发生这种情况以及如何解决这个问题?在此先感谢:)

4 个答案:

答案 0 :(得分:2)

您没有初始化vert->e字段。

在使用之前添加vert->e = ei

答案 1 :(得分:0)

您正在获得异常,因为您尚未为vert->e分配内存。 在分配值之前使用vert->e=new HE_edge

答案 2 :(得分:0)

由于您尚未设置vert->e,因此在分配给vert->e->k时会出现未定义的行为。你的意思是将值初始化为

vert->e = e2;

答案 3 :(得分:0)

  1. 你的结构最后需要用分号。

  2. 您尚未为vert->e分配任何内存。

  3. 请将return EXIT_SUCCESS;添加到您的主要功能。