这句代码什么意思?#define VERIFY(f)  ASSERT(f)ASSERT(index >=0 && index < m_MonitorArray.GetSeze());

解决方案 »

  1.   

    LZ还在纠结这个呐The ASSERT macro tests an expression. If the expression is false, it breaks into the kernel debugger.
      

  2.   

    刚才跟踪的结果是index值是1  m_MonitorArray.GetSeze()返回值也是1所以出问题了,不懂ASSERT(index >=0 && index < m_MonitorArray.GetSeze());这个写法是啥意思
    我以前做C#的 还不习惯用C
      

  3.   

    就是个普通的断言啊
    只在debug下起作用
      

  4.   

    用于调试的目的。
    写代码时,难免出错,所以需要能尽快找到错误在什么地方,如ASSERT(index >=0);就表示我写的代码运行到这里时,index的值必须是>0的,如果不是,则前面的代码肯定有问题的。程序在debug态下,就会在这里中断,于是我就清楚代码存在问题。
      

  5.   

    ASSERT()是MFC库中的断言,用法是ASSERT(布尔表达式).
    ASSERT宏用于确保参数内的表达式正确,如果表达式为 false,则会显示一个消息对话框,其中有源文件的名字和当前行号,用户可以选择中断程序或进行调试.这个宏通常用于校验参数和返回值.
    例子:ASSERT(pSysMenu);//检察pSysMenu是否为空
      

  6.   

    ASSERT只是在DEBUG中有效,Release版本没用
      

  7.   

    既然他GetSize是1,那么说明只有1个元素,LZ为何会m_MonitorArray[1]这样取,应该m_MonitorArray[0]
      

  8.   

    楼主看别人代码遇到这个你可以跳过了··自己写代码有不确定的地方记得下断言ASSERT``