就是我用vc2008时使用字符串都要在前面加个L,这是为什么?比如说MessageBox(hwnd,L"aaaaa",L"bbbbb",MB_OK)
还有就是我用枚举的时候,
enum take{a,b,c};
int w=take::a;
什么都正确,但编译时总要提示"使用了非标准扩展: 限定名中使用了枚举"
很烦,有没有什么方法屏蔽这个提示?
还有就是我用枚举的时候,
enum take{a,b,c};
int w=take::a;
什么都正确,但编译时总要提示"使用了非标准扩展: 限定名中使用了枚举"
很烦,有没有什么方法屏蔽这个提示?
当你没有加 L的时候 编译器不知道此处的字符串应安那个字符集版本编译它会默认按照ANSI 多字节编译。。
所以编译时候当然会出错啦
//L宏,unicode字符串//int w = a;
使用了非标准扩展: 限定名中使用了枚举“enum”
当引用类型内的枚举时,无需指定枚举的名称。
文件范围的枚举定义相当于常量,也不需要限定名。
忽略此警告
#progma warning(push)
#progma warning(disable : 4482)
#progma warning(pop)