3

如果我做类似的事情,VS2010 C++ 中有什么方法可以让 IDE 抱怨

if (somevar = 2)
{
    ...

?

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

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

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

有没有这样的选择?

4

2 回答 2

6

就在这里:

warning C4706: assignment within conditional expression

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

另一种方法是使用 YODA 条件 ( 2 == somevar),但这很难看。:)

于 2013-01-22T17:16:46.207 回答
0

在解决方案资源管理器中右键单击项目名称,选择Properties,转到Configuration Properties | C/C++ | 一般,并将警告级别设置为Level4。您不会收到错误消息,而是收到警告:

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

于 2013-01-22T17:23:56.853 回答