C++:让VS2010抱怨"如果"用"="

tmi*_*hty 3 c++ ide visual-studio-2010

如果我做类似的事情,在VS2010 C++中有没有办法让IDE抱怨

if (somevar = 2)
{
    ...
Run Code Online (Sandbox Code Playgroud)

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

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

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

有这样的选择吗?

Luc*_*ore 6

就在这里:

warning C4706: assignment within conditional expression
Run Code Online (Sandbox Code Playgroud)

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

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

  • @LuchianGrigore:4,你可以用第一个数字来判断. (2认同)