我编写了以下代码,它产生了
警告:初始化使指针从整数而不进行强制转换
或
警告:从不同大小的整数转换为指针
来自 gcc (GCC) 4.1.1 20070105 (Red Hat 4.1.1-52)
struct my_t {
unsigned int a : 1;
unsigned int b : 1;
};
struct my_t mine = {
.a = 1,
.b = 0
};
const void * bools[] = { "ItemA", mine->a, "ItemB", mine->b, 0, 0 };
int i;
for (i = 0; bools[i] != NULL; i += 2)
fprintf(stderr, "%s = %d\n", bools[i], (unsigned int) bools[i + 1] ? "true" : "false");
如何让警告消失?无论我尝试过什么投射,似乎总是会出现警告。
谢谢,陈兹