C++常用编译警告类型和解决方法
1、未使用的函数参数
unused function parameter
检查函数的参数在函数体内是否被使用,如果参数不需要,直接删除参数名。
2、未使用的变量
Variable defined but never used
检查某个变量是否需要被引用,若不需要则可以通过插入一个变量本身的求值表达式解决。
void Fun(){
int a;
a;//消除警告
}
3、变量使用前未初始化
Variable may be used without being initialized
各种变量在定义之后,都必须初始化,在进行后续的赋值等相关操作
4、遗漏return语句
Missing return
如在 switch语句中,没有default语句。应加上执行assert(false)的dedault情况。即在case后加上
default assert(!"string");//括号里面的结果为fault
return -1;
5、有符号数、无符号数不匹配
signed/unsigned missmatch
在对符号不同的整数进行比较和赋值会出现警告,此时显式强制类型转换消除警告。