【发布时间】:2011-04-29 02:21:42
【问题描述】:
我有两个相同(但名称不同)的 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;
但这似乎很不方便。
什么是最好的解决方案?
【问题讨论】:
-
你不能只是 typedef(比如 typedef struct CMAcceleration Vector3d)吗?哎呀,已经有人指出了...