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,我仍然会在代码中编写它。编辑答案。哦,好的。。谢谢:)。。我将尝试修改我的结构。。谢谢大家!!!!!