2012-09-06 54 views
0

为什么我不能在C++ 98/C++ 03聚合初始化程序列表末尾使用额外的逗号?在C++ 98/C++ 03聚合结尾的额外逗号03

ISO/IEC 14882:2003

8.5初始化器[dcl.init]

=初始化子句(表达式列表)初始化子句:赋值表达式{初始化列表,选择} {}初始化列表: 初始化子句初始化列表,初始化子句

有后初始化列表与选择符额外逗号, 对?为什么我不能使用它?

+1

你是什么意思,你不能? –

+1

显示代码示例 – Maxwe11

+2

http://ideone.com/IksDt –

回答

2

这里的标准很清楚:尾随的逗号允许的(类似的特征存在于枚举内的常量声明中)。您无法使用它的事实是您使用的实施质量的问题。

+0

因此,在C89/C90,C99,C11,C++ 98,C++ 03和C++ 11中允许在数组末尾附加逗号,但只能在枚举初始化列表末尾附加逗号C99,C11和C++ 11? – FrozenHeart