私は宣言との結合を持っています:
union test_u
{
int i;
char *str;
};
コードを使用して、「秒」フィールドのデータで変数を初期化しようとしています:
union test_u test = {"Sample"}; // char *, not int
これをコンパイルしようとすると、次のエラーが表示されます。
file.c:72:11: 警告: 初期化により、キャストなしでポインターから整数が作成されます
上記と同じ方法で変数を初期化することは可能ですか? int
コンパイラ (C89 の下) は、初期化でto を受け入れるべきではありませんchar *
か?