相关疑难解决方法(0)

为什么C++不允许使用匿名结构?

一些C++编译器允许匿名联合和结构作为标准C++的扩展.这有点语法糖,偶尔会非常有帮助.

阻止它成为标准一部分的理由是什么?是否存在技术障碍?一个哲学的?或者仅仅是不足以证明它的合理性?

这是我正在谈论的样本:

struct vector3 {
  union {
    struct {
      float x;
      float y;
      float z;
    };
    float v[3];
  };
};
Run Code Online (Sandbox Code Playgroud)

我的编译器会接受这个,但它警告"无名结构/联合"是C++的非标准扩展.

c++ struct unions

87
推荐指数
3
解决办法
5万
查看次数

标签 统计

c++ ×1

struct ×1

unions ×1