C++ 合并/连接两个结构

C++ 合并/连接两个结构,c++,struct,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

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

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;
 }

这里的问题是,我想把垂直面连接到边缘。但当我运行程序时,出现错误“halfedge.exe中0x008c1cd6处未处理的异常…”。有人能向我解释一下,为什么会发生这种情况以及如何解决这个问题吗?提前感谢:)

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


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

您会遇到异常,因为您没有为
vert->e
分配内存。
在赋值之前使用
vert->e=new heu edge

因为您没有设置
vert->e
,当您赋值到
vert->e->k
时,您会得到未定义的行为。您的意思是将该值初始化为

vert->e = e2;

  • 结构的末尾需要分号

  • 您尚未为
    vert->e
    分配任何内存

  • 请添加
    返回退出\u成功到您的主函数


  • 结构的末尾需要分号。
    HE\u vert*head
    的作用是什么?布莱克坦普尔:谢谢你告诉我这个错误路易斯库巴尔:实际上,在我添加结构HE_edge之前,我试着和HE_vert一起玩。我使用HEU vert存储.txt文件中的信息。这就是为什么他在那里:)他的主函数返回0。main中缺少return语句意味着函数返回0。即使返回了0,我仍然会在代码中编写它。编辑答案。哦,好的。。谢谢:)。。我将尝试修改我的结构。。谢谢大家!!!!!