不要轻易忽略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 >
前后类型不符,一个是有符号数,一个是无符号数,如果超出有符号数的上限,则会出错,所以提示警告。
改为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”: 不是所有的控件路径都返回值
所有分支都要返回值,举例:
应加default标签判断。
(96)C++数组下标可以为负数
(97)warning C4305: “初始化”: 从“int”到“bool”截断
切记:bool true为非零值,false为零值。
(98)warning LNK4099: 未找到PDB“vc80.pdb”
工程里面引用到的lib库编译所用VS版本和应用程序编译所用VS版本不同,用同一版本VS重新编译lib库及应用程序。
(99)VS中Ctrl+F,查找对话框不出来,而且查找的快捷键设置的是Ctrl+F
快捷键设置:菜单栏工具->选项->环境->键盘
菜单栏窗口->重置窗口布局
(100)fatal error C1064: 编译器限制: 标记已溢出内部缓冲区
VS2008中类名、变量名、函数名过长,超过4095个字符会报这个错
-
顶
- 0
-
踩