C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – ISO文档中的一点:基于匿名联盟大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
从ISO C标准开始:第9.5节,第4段,第1行:

"A union for which objects or pointers are declared is not
       an anonymous union."

例:

struct X {
        union {
               int i;
               double d;
             } ;
        int f () { return i;}      
       };
   int main() { return 0; }

根据上述观点,IAm期望该示例出现错误

但是GCC,SUN编译器CC,EDG等都没有显示错误

我期待这个错误//错误:无法直接访问“i”

请..conform上面的示例程序是正确的是错误

解决方法

这会使联盟不是匿名的:

struct X {
    union {
        int i;
        double d;
    } *p;
    int f () { return i;}      // !Nyet.
};

干杯&心连心,

大佬总结

以上是大佬教程为你收集整理的c – ISO文档中的一点:基于匿名联盟全部内容,希望文章能够帮你解决c – ISO文档中的一点:基于匿名联盟所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。