写的时候误将”==”写成”=”,vs2013中的代码分析也不提示这个错误,结果搞了一天,后来单步跟踪才发现这个问题.
因为平时用另一种脚本语言,”=”可以当成”==”用,所以两种语言换来换去偶尔就会出错,
现在想用vs2013中的查找功能找出所有非赋值语句中的单个”=”号,能不能实现?或者有什么别的方法来检查这种错误?
方案推荐指数:30
正则表达式当然可以, 编译器自然也提供了,项目属性-C/C++ – 常规, 把警告等级调到等级4就行了.
不过自己经常在if中赋值, 使所以屏蔽了这个警告.GCC可以使用双括号来取消, 比如:
if(( a = b ))……微软编译不认, 只能屏蔽了。
方案推荐指数:10
将常量写在==的左边,变量或表达式写在==的右边,这样万一错将==写成=的时候,编译器会报错的。
使用pc_lint软件。