構造 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' に代入すると、エラー: 互換性のないタイプですというコンパイラ エラーが発生します。
どうしてこうなったかわかる方いたら教えてください。