首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

编译这样的告警如何消除掉

2013-08-04 
编译这样的告警怎么消除掉?公司进来有蛋疼的人,要求我们修改代码除掉报警!像这样的报警怎么消去 啊?? warn

编译这样的告警怎么消除掉?
公司进来有蛋疼的人,要求我们修改代码除掉报警!像这样的报警怎么消去 啊??
 warning C4244: '=' : conversion from 'WCHAR' to 'CHAR', possible loss of data(尼玛强制转换都这么做到,那还有什么办法呢?)
 warning C4244: 'initializing' : conversion from 'DWORD_PTR' to 'DWORD', possible loss of data

warning C4244: 'initializing' : conversion from 'WPARAM' to 'BOOL', possible loss of data

 warning C4244: 'argument' : conversion from 'int' to 'float', possible loss of data


赐教,这些告警怎么消除?我是菜鸟!写代码谁不用强制转换???另外别告诉我更改报警等级,这个没脑子的建议就别说了
[解决办法]
static_cast<char>(wchar_value);
char(wchar_value);
如果上面两种转换还不行,就写一个函数用union来转换:

CHAR wchar_to_char( WCHAR value )
{
    union 
    {
        WCHAR wvalue;
        CHAR cvalue;
    } m;
    m.wvalue = value;
    return m.cvalue;
}

其它两种整数类型同上。

int到float不好处理,如果有可能,最好用double代替int。
也可以试试这样:
static_cast<float>(int_value + 0.0);
float(int_value + 0.0);

热点排行