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

100个windows平台C++开发异常之十九Warning

2013-01-27 
100个windows平台C++开发错误之十九Warningby zxy,Java/C编程交流群:168424095不要轻易忽略warning,也许一

100个windows平台C++开发错误之十九Warning

by zxy,Java/C++编程交流群:168424095

不要轻易忽略warning,也许一个致命的错误就发生在提示warning的地方。

(91)warning C4101: “XXXXX”:未引用的局部变量尽量去掉无用变量的声明。
(92)VS2005中出现warningC4996:strcpy was declared deprecated(不赞成使用strcpy)

出现这样的警告,是因为VC2005认为CRT中的一组函数如果使用不当,可能会产生诸如内存泄露、缓冲区溢出、非法访问等安全问题。这些函数如:strcpy、strcat等。

对于这些问题,VC2005建议使用这些函数的更高级的安全版本,即在这些函数名后面加了一个_s的函数。这些安全版本函数使用起来更有效,也便于识别,如:strcpy_s。

(93)warning C4018: “<”:有符号/无符号不匹配<’<’:Signed/unsigned mismatch >

100个windows平台C++开发异常之十九Warning

前后类型不符,一个是有符号数,一个是无符号数,如果超出有符号数的上限,则会出错,所以提示警告。

改为for (size_t i = 0 ; i < vec.size();++i)即可。

(94)warning C4267: “=”:从“size_t”转换到“int”,可能丢失数据 conversion from ‘size_t’ to ‘int’,possible loss of data

最好将”=”两侧类型相同,如果不想改而且不想报warning可以用static_cast<int>强制转换。

(95)warning C4715: “XXX”: 不是所有的控件路径都返回值

所有分支都要返回值,举例:

100个windows平台C++开发异常之十九Warning

应加default标签判断。

热点排行