ASSERTASSERT( booleanExpression )参数:
booleanExpression 指定了一个表达式(包含指针变量),其计算结果为非零值或0。说明:这个宏计算它的参数。如果结果为0,则输出一个调试信息并退出程序。如果结果为非零值,它什么也不做。诊断信息具有如下形式:assertion failed in file <name> in line <num>这里的name是源文件的名字,num是源文件中断言失败位置的行号。在MFC的发行版本中,ASSERT并不计算表达式的值,因而也不会中断程序。如果不管环境如何,表达式都必须被计算,用VERIFY宏来代替ASSERT。注意:这个函数仅在MFC的调试版本中有效。示例:// ASSERT的例子CAge* pcage = new CAge( 21 ); // CAge is derived from CObject.ASSERT( pcage!= NULL )ASSERT( pcage->IsKindOf( RUNTIME_CLASS( CAge ) ) )// 仅当pcage不是一个CAge*指针时才结束程序。
VERIFYVERIFY( booleanExpression )参数:
booleanExpression 指定了一个表达式(包含指针变量),其计算结果为非零值或0。 说明: 在MFC的调试版本中,VERIFY宏计算它的参数。如果结果是0,这个宏就打印出一条消息并中止程序。如果结果为非零值,它就不做任何操作。 诊断消息的形式如下: assertion failed in file <name> in line <num> 这里的name是源文件的名字,num是源文件中发生断言失败的位置的行号。 在MFC的发行版本中,VERIFY计算表达式的值,但是并不输出或中断程序。例如,如果这个表达式是一个函数调用,这个调用会被执行。 请参阅: ASSERT