VC++警告级别的设置--gyy整理

来源:互联网 发布:天猫跟淘宝是什么关系 编辑:程序博客网 时间:2024/05/21 09:26

VC工程设置中有一项警告级别设置(warning leve 警告级别),

工程->设置->c/c++ 选项页上面有警告等级设定,可以通过此项来设置警告等级
“警告信息”有五级,分别是:“无”,“level 1*”,“level 2”,“level 3”,“level 4”
默认是level 3,
写代码,最好将级别开到level 4,这样可以提示你一些我们常会忽略的潜在出错机会。
如果想屏蔽任何警告,可以设置为“无”,但不是好习惯。
例如下例
#include <iostream>using namespace std;int main(){int i;cout<<i<<endl;if(i=1)cout<<"true"<<endl;else cout<<"false"<<endl;return 0;}


如果设置为最低级别“无”,方法如下
此时,编译后,将不提示任何警告信息,只提示错误信息,如下图所示。
如果此时将警告级别设置为默认级别--“level 3”,如图
编译源文件后,出现警告提示,
warning C4700: local variable 'i' used without having been initialized,
此警告的原因是变量i没有赋初值就被使用了。
如下图所示:
我们再提高警告等级,
此时将警告级别设置为最高级别--“level 4”,如图
设置后,编译源文件,出现2个警告提示,
 warning C4706: assignment within conditional expression
此警告的原因是条件语言中的条件表达式i=1 (给i赋值为1)可能出现错误书写,应写为i==1,表示i与1进行判断是否相等,此处本身并没有语法问题,但可能属于逻辑错误.
warning C4700: local variable 'i' used without having been initialized
此警告的原因是变量i没有赋初值就被使用了。

如下图所示:
从上例可见,警告级别越高,编译时给出的警告信息就越多。有的时候是需要警告提示的,可以帮助你找到和避免一些潜在错误的发生。