MSDN 认为匿名结构在C++中是非标准的:
Microsoft C扩展允许您在另一个结构中声明结构变量而不为其指定名称.这些嵌套结构称为匿名结构.C++不允许匿名结构.
您可以访问匿名结构的成员,就好像它们是包含结构中的成员一样.
我被告知这个功能不一定只是创建一个未命名的结构,但我不能看到标准措辞的区别.
C++ 11说:
[C++11: 9/1]:[..]一个类说明符,其类头省略了class-head-name,定义了一个未命名的类.
并为缺少名称的类型定义提供完整的语法结构.
C++ 03缺少这种明确的措辞,但同样表明identifier类型定义中的类型是可选的,并在9.4.2/5和中引用了"未命名的类" 3.5/4.
c++ ×1