enum的问题!!!!!!请大家给个提示。谢谢
KDE 2007-10-07 10:41:46 最近无意中使用MSDN的时候,我发现枚举的定义好像与以往不同:
VS2005帮助中说明枚举可以申明如下:
enum [tag] [: type] {enum-list} [declarator]; // for definition of enumerated type
enum tag declarator; // for declaration of variable of type tag
我马上在VC(2005)中试了一下:
enum Test : unsigned char
{
TEST_VALUE1 = 255,
TEST_VALUE2
};
编译之后给出了如下警告:
d:\tmp\test2\test2\main.cpp(9) : warning C4340: 'TEST_VALUE2' : value wrapped from positive to negative value
d:\tmp\test2\test2\main.cpp(9) : warning C4309: 'initializing' : truncation of constant value
d:\tmp\test2\test2\main.cpp(9) : warning C4369: 'TEST_VALUE2' : enumerator value '256' cannot be represented as 'unsigned char', value is '0'
除了感叹VC8的强大检查能力之外,我没有在任何标准文档中找到关于枚举可以指定基本类型的。
而且我在msdn中并没有看见这个特性被称作VC的扩展。
小弟在此请问各位大侠,这个语法(特性)是什么时候加入标准的,在那个文档或书中有记载?
或者如果没有加入标准,那又是什么时候作为VC扩展特性的,有没有相关文档记载?
谢谢!!!