多字符字符常量 [-Wmultichar]
multi-character character constant [-Wmultichar]
我看过几篇关于此警告的帖子,但据我所知,none 解决了我的问题。
我在我的申请中声明了这一点:
const unsigned char clsXMLnode::mcucAttrMacroDelimiter = '£';
这会导致编译器发出两个警告:
multi-character character constant [-Wmultichar]
large integer implicitiy truncated to unsigned type [-Woverflow]
但为什么值仍然在 unsigned char 中。
添加演员表:
const unsigned char clsXMLnode::mcucAttrMacroDelimiter = (unsigned char)'£';
摆脱了第二个警告,但为什么需要它,为什么第一个警告仍然存在?
没有任何明确解释为什么会产生此警告,并且假设一个字符应该是 8 位,而不是 16 位。
即使转换也没有解决,所以我将角色更改为不会导致此错误的角色。
我看过几篇关于此警告的帖子,但据我所知,none 解决了我的问题。
我在我的申请中声明了这一点:
const unsigned char clsXMLnode::mcucAttrMacroDelimiter = '£';
这会导致编译器发出两个警告:
multi-character character constant [-Wmultichar]
large integer implicitiy truncated to unsigned type [-Woverflow]
但为什么值仍然在 unsigned char 中。
添加演员表:
const unsigned char clsXMLnode::mcucAttrMacroDelimiter = (unsigned char)'£';
摆脱了第二个警告,但为什么需要它,为什么第一个警告仍然存在?
没有任何明确解释为什么会产生此警告,并且假设一个字符应该是 8 位,而不是 16 位。
即使转换也没有解决,所以我将角色更改为不会导致此错误的角色。