c/c++结构相同但名字不同的的struct如何转换

259 views

比如一个struct1和struct2,里面的成员都是一样的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
struct struct1
{
int a;
int b;
float c;
};
 
struct struct2
{
int a;
int b;
float c;
};
 
struct1 T1;
struct2 T2;

现在如何把T2转换为struct1类型的?

试试

1
struct1 t1 = *(struct1*)&T2

不过这实际调用了struct1的copy构造函数,T2并未实际变为struct1类型,而是做为参数构造出一个全新的t1

发表评论

电子邮件地址不会被公开。 必填项已用*标注