我想在 C++ 中复制两个类似的结构。考虑以下三个结构。
struct Dest_Bio
{
int age;
char name;
};
struct Source_Bio
{
int age;
char name;
};
struct Details
{
int id;
Dest_Bio* st_bio; //Needs to be populated with values from Source_Bio
};
- 我在“Source_Bio”结构中填写了值
- 我想将 Source_Bio 中的这些值复制到“详细信息”结构中的 st_bio 中。
- 我不想为 Dest_Bio 创建成员
我尝试了以下。它编译得很好,但在运行时使程序崩溃。
Source_Bio st_ob;
st_ob.age = 5;
st_ob.name = 't';
Details st_a;
st_a.id = 1;
st_a.st_bio = (Dest_Bio*) malloc(sizeof(Dest_Bio));
memcpy((struct Dest_Bio*)&st_a.st_bio, (struct Source_Bio*)&st_ob,sizeof(Dest_Bio));
我怎样才能完成这项工作?提前致谢