如果我做类似的事情,VS2010 C++ 中有什么方法可以让 IDE 抱怨
if (somevar = 2)
{
...
?
我尝试注意写==而不是=,但不仅使用C++,还使用VB和其他语言,它有时会发生。
有时需要很长时间才能找到与我的错误相关的错误。
我认为一个人真正想要编写一个 if 语句同时为变量分配一个新值(如我上面的示例)的可能性很小。这就是为什么我希望 VS2010 可能包含一个选项来告诉我可能存在的缺陷,但我还没有找到。
有没有这样的选择?
如果我做类似的事情,VS2010 C++ 中有什么方法可以让 IDE 抱怨
if (somevar = 2)
{
...
?
我尝试注意写==而不是=,但不仅使用C++,还使用VB和其他语言,它有时会发生。
有时需要很长时间才能找到与我的错误相关的错误。
我认为一个人真正想要编写一个 if 语句同时为变量分配一个新值(如我上面的示例)的可能性很小。这就是为什么我希望 VS2010 可能包含一个选项来告诉我可能存在的缺陷,但我还没有找到。
有没有这样的选择?
就在这里:
warning C4706: assignment within conditional expression
只要确保您打开所有(不是完全在 MSVS 上)警告。( project properties -> C/C++ -> General -> Warning Level
)
另一种方法是使用 YODA 条件 ( 2 == somevar
),但这很难看。:)
在解决方案资源管理器中右键单击项目名称,选择Properties,转到Configuration Properties | C/C++ | 一般,并将警告级别设置为Level4。您不会收到错误消息,而是收到警告:
警告 C4706:条件表达式内的赋值