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的情况下有效。