如何让-fplan9-extensions
GCC 中激活的匿名结构/联合行为在 Clang 中工作?
使用指定的初始化程序时,分配给匿名成员时出现错误,并且我没有免费转换为匿名成员的类型。这两个都在 GCC 下工作,并激活了上述扩展。
typedef struct {int hi;} Embedded;
typedef struct {Embedded;} Encapsulating;
Encapsulating poo = {.hi = 3;};
error: field designator 'hi' does not refer to any field in type 'Encapsulating'
void takes_embedded(Embedded *m);
takes_embedded(&poo);
warning: incompatible pointer types passing 'Encapsuating *' to parameter of type 'Embedded *'