多字符字符常量[-Wmultichar]

时间:2016-05-19 13:40:36

标签: c++ warnings

我已经看过几个有关此警告的帖子,但据我所知,没有一个可以解决我的问题。

我已在我的申请中声明了这一点:

    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)'£';

除去第二个警告,但为什么需要它,为什么第一个警告仍然存在?

1 个答案:

答案 0 :(得分:0)

没有任何明确的解释,为什么产生这个警告,并且假设一个字符应该是8位而不是16位。

即使演员没有解决,所以我将角色更改为没有导致此错误的角色。