我有两个完全相同但名称不同的C结构体:
typedef struct {
double x;
double y;
double z;
} CMAcceleration;
typedef struct {
double x;
double y;
double z;
} Vector3d;
现在我想将一个CMAcceleration变量赋值给一个Vector3d变量(复制整个结构体)。我该如何做?
我尝试了以下代码但是得到了编译器错误:
vector = acceleration; // "incompatible type"
vector = (Vector3d)acceleration; // "conversion to non-scalar type requested"
当然,我可以通过逐个设置成员来实现:vector.x = acceleration.x;
vector.y = acceleration.y;
vector.z = acceleration.z;
但那似乎相当不方便。
有什么最佳解决方案吗?