我用的是VS2005sp1,默认情况下没有警告,也找不到在哪儿设置。

解决方案 »

  1.   

    一般推荐写法:
    if (7 == a){}这样,如果写成if (7 = a)//会报语法错误而当写成if (a = 7)这时候并没有错误,不会认为是判断a==7,而会被认为是先做a=7的付值操作,然后判断a是否等于0,即为:a=7;
    if(a);//这样的代码
      

  2.   

    你把数字放到前面去
    if(7 = a)就会提示了if(a = 7)是符合语法规则的
      

  3.   

    谢谢,这我知道,我只想要知道怎么设置警告。
    Bjarne Stroustrup写的《The C++ Programming Language》里说绝大部分编译器都可以设置对这个的警告。
      

  4.   

    楼主过来跟我一起用Delphi吧...哈哈
      

  5.   

    或者使用
    #pragma warning()选项
      

  6.   

    http://dev.csdn.net/article/66/66106.shtm
      

  7.   

    在VS2003中,C/C++ 编译选项中,设置警告程度为4级,则有
    warning C4706: 条件表达式内的赋值
      

  8.   

    试试vs2005和08里的代码分析,就是那个PREfast。