就是看看pDoc等不等NULL,要等就ASSERT_VALID了

解决方案 »

  1.   

    一般ASSERT_VALID在什么情况下使用?什么情况下必须使用?
    谢谢。
      

  2.   

    用于这种情况:
    假如一个函数必须保证pDoc有效,才能正常工作时,而有可能写程序的时候会出现pDoc无效的情况,请用ASSERT,以便一旦出现此情况马上警报。比如:
    写一个求平方根的函数,有可能为了程序正常会对非法数据进入相应的处理:如返回负数表示错误。此时程序往往可以继续执行。
    但通常遇到此情况表明,程序中有重大缺陷,为了检查这一点,就必须用上ASSERT了。double sqrt(double __data)
    {
      ASSERT(__data >= 0.0);  if(__data < 0.0)
      return -1.0;
      ...
    }
      

  3.   

    补充:ASSERT/ASSERT_VALID仅在Debug版本有效。