【发布时间】:2012-08-15 01:34:37
【问题描述】:
我与声明有一个联合:
union test_u
{
int i;
char *str;
};
我正在尝试使用代码在“第二个”字段中使用数据初始化变量:
union test_u test = {"Sample"}; // char *, not int
在尝试编译时,我收到错误:
file.c:72:11: 警告:初始化从没有强制转换的指针生成整数
是否可以按照我上面的方式初始化变量?编译器(在 C89 下)不应该在初始化中接受 int 到 char * 吗?
【问题讨论】:
-
你在哪里初始化 int?
标签: c initialization unions