gpt4 book ai didi

c - 类型 X 和 X 在结构/union 方面有何不同?

转载 作者:行者123 更新时间:2023-11-30 18:32:24 27 4
gpt4 key购买 nike

考虑以下代码:

struct blah {
int x;
int y;
};

struct foo {
union {
struct {
struct blah *b;
};
};
};

int main()
{
struct foo f;
struct blah *b;

// Warning on below assignment
b = &f.b;
return 0;
}

为什么 GCC 会生成来自不兼容指针类型的赋值警告,尽管 LHS 和 RHS 的类型相同(显然)? IOW,当 struct blah 嵌套在 struct foo 中时会发生什么变化?

如果这里有一个有效的警告,它是什么?

最佳答案

b = &f.b; 尝试将 blah** 分配给 b。使用 b = f.b; 代替

关于c - 类型 X 和 X 在结构/union 方面有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13969381/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com