当我在 VS2010 中使用强类型枚举时,例如:
enum eTest : long long
{
_test1 = 0x0000000000000001,
_test2 = 0x0000000000000002,
};
我收到这个警告:
http://msdn.microsoft.com/en-us/library/ms173702.aspx
使用了非标准扩展:为枚举“枚举”指定基础类型
为什么是这样?我以为VS2010支持C++11?在 64-32 位 VS2010 编译器之间基于 64 位的枚举是否安全?
编辑:
关于我问题的第二部分:我询问了 32 与 64 位,因为在针对 32 位时来自 64 位枚举的 OR'ing 位标志会导致编译器错误。但是我发现原因是因为启用微软的代码分析会导致这个问题。