当前位置:项目开发->项目经验 ->int转为unsigned char类型的警告的分析和解决办法

原创版权标志int转为unsigned char类型的警告的分析和解决办法

作者:codexia  发表时间:2018/6/23 12:02:23  阅读:
[摘要] 在编译一份代码后,发现一个警告,老是出现warning : conversion to ‘unsigned char’ from ‘int’ may alter its value [-Wconversion]。通过研究发现,这里涉及到类型转换和常量混合计算的原理。对此作了深入的分析,为什么警告,为什么不警告,对于类型转换的理解非常有帮助。

        在编译一份代码后,发现一个警告,老是出现,如下:

    warning : conversion to ‘unsigned char’ from ‘int’ may alter its value [-Wconversion]
    出现的太多了,就有点烦了。但是整半天还没有消除,感觉这个警告并不是那么简单,所以决心研究一下,彻底研究清楚,下面就是我的研究成果,分享给大家,值得一读。这个分析可以促进你对类型转换的理解。

        先看一份代码:

    

#include using namespace std;
int main()
{
 unsigned char * p = new unsigned char[10];
 unsigned char index = 3;
 p[0] = 'a' + 3;//无警告
 p[1] = 'a' + index;//warning : conversion to ‘unsigned char’ from ‘int’ may alter its value [-Wconversion]
 p[2] = 'a' + 'b';//无警告
 p[3] = (unsigned char)'a' + index;//warning : conver...【登录后阅读更多内容】
微信扫码关注公众号CPP技术网,微信号cpp_coder,关注我们的公众号,阅读更多精彩内容!每天还可以领取大红包哦!!!每天还可以领取大红包哦!!!每天还可以领取大红包哦!!!
文章来源:C++技术网原创文章版权为网站和作者共同所有,会员文章禁止转载。非会员文章转载做好本文超链接即表示授权转载。通过文章下面的分享按钮可以自由分享所有文章。

返回顶部

在线提问
问题标题:
问题描述:(简陋的描述会导致问题被最后回答、没有针对性回答甚至无法解答。请确保问题描述的足够清楚。)