Qt中的断言函数有两个:
(1) void Q_ASSERT ( bool test )
当test为假时打印出警告信息。
示例:
// File: div.cpp
#include <QtGlobal>
int divide(int a, int b)
{
Q_ASSERT(b != 0);
return a / b;
}
(2) void Q_ASSERT_X ( bool test, const char * where, const char * what )
当test为假时打印出警告信息,警告信息中包含自定义信息。
示例:
// File: div.cpp
#include <QtGlobal>
int divide(int a, int b)
{
Q_ASSERT_X(b != 0, "divide", "division by zero");
return a / b;
}
这两个断言仅在没有定义宏QT_NO_DEBUG的情况下有效。