我正在尝试将结构 x 复制到另一个嵌套有 x 的结构 y 中。
例如:
#define DATASIZE 128
typedef struct {
char data[DATASIZE];
} x_TYPE;
typedef struct {
int number;
x_TYPE nested_x;
enum boolean error;
} y_TYPE;
/* ---- Values for the type field in xy_union ---- */
#define TYPE_IS_X 0;
#define TYPE_IS_Y 1;
typedef struct {
union { /* structure containing x_object */
x_TYPE x_object; /* or y_object as a union */
y_TYPE y_object;
} u;
int type; /*One of: TYPE_IS_X, TYPE_IS_Y */
} XY_TYPE;
这是我目前复制的方式:
copyXY(XY_TYPE *xx)
{
XY_TYPE *yy; /* assume this is allocated already */
yy->u.y_object.nested_x = *xx; /* ERROR LINE */
return 0;
}
我得到一个编译器错误:错误:从类型'XY_TYPE'分配给类型'x_TYPE'时不兼容的类型。
如果有人知道为什么会发生这种情况,请告诉我。