ASSERT(pWnd != NULL && pWnd->m_hWnd == hWnd);
上边这个函数什么意思。
这句话是我的程序在调试状态的时候出错我定位到得。

解决方案 »

  1.   

    详细请参看MSDN文档:
    Evaluates its argument. 
    判断pWnd是否是NULL,并且pWnd成员m_hWnd是否等于hWnd,如果其中任何一个条件不满足,ASSERT就会弹出错误对话框。
      

  2.   

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

  3.   

    ASSERT中表达式为false,就会弹框。
      

  4.   

    MFC有ASSERT宏定义,CRT有_ASSERT宏定义和assert函数总体均为运行时做条件判断用,会弹出消息对话框
      

  5.   

    从这句话中怎么知道我的程序什么地方有错误?
    release版本没有错误
      

  6.   

    ASSERT只是在DEBUG中有效,Release版本无视它
      

  7.   

    这属于防御性编码,Debug版才起作用,检查某些值。Release版不编译。