C ++:让VS2010抱怨“如果”用“=”

时间:2013-01-22 17:15:11

标签: c++ visual-studio-2010 ide

如果我做了像

这样的事情,VS2010 C ++中有没有办法让IDE抱怨
if (somevar = 2)
{
    ...

我试着注意写==而不是=,但不仅使用C ++而且还使用VB和其他语言,它有时会发生。

有时需要花很多时间才能找到与我的错相关的错误。

我认为人们真正想写一个if语句同时为变量分配一个新值(如上例所示)的可能性相当小。这就是为什么我希望VS2010可能包含一个选项,告诉我可能的缺陷,但我还没找到。

有这样的选择吗?

2 个答案:

答案 0 :(得分:6)

是的,有:

warning C4706: assignment within conditional expression

只需确保打开所有(不是完全在MSVS上)警告。 (project properties -> C/C++ -> General -> Warning Level

替代方案是使用YODA条件(2 == somevar),但这很难看。 :)

答案 1 :(得分:0)

在解决方案资源管理器中右键单击项目名称,选择属性,转到配置属性| C / C ++ |一般,并将警告级别设置为级别4 。您不会收到错误但会收到警告:

  

警告C4706:条件表达式中的赋值