我已经看过几个有关此警告的帖子,但据我所知,没有一个可以解决我的问题。
我已在我的申请中声明了这一点:
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)'£';
除去第二个警告,但为什么需要它,为什么第一个警告仍然存在?
答案 0 :(得分:0)
没有任何明确的解释,为什么产生这个警告,并且假设一个字符应该是8位而不是16位。
即使演员没有解决,所以我将角色更改为没有导致此错误的角色。