表示: Delphi
C++
表示設定
assert
提供:RAD Studio XE2
assert.h:インデックス への移動
ヘッダーファイル
assert.h
カテゴリ
診断ルーチン
プロトタイプ
void assert(int test);
説明
条件をテストし,場合によっては実行を中止します。
assert は,if 文に展開されるマクロです。test が 0 に評価された場合,assert マクロは次の _assert 関数を呼び出し,
void _RTLENTRY _EXPFUNC _assert(char * __cond, char * __file, int __line);
プログラムを中止します。_assert 関数は abort を呼び出し,stderr に次のメッセージを示します。
アサート失敗: %s ("%s",%d 行め)
このメッセージに示されている filename と linenum は,assert マクロが置かれているファイル名と行番号です。
ソースコードで,#include <assert.h> 指令の前に #define NDEBUG 指令(デバッグなし)を配置した場合,マクロは no-op に展開されます。つまり,assert 文がコメントアウトされます。
戻り値
なし。
例
#include <assert.h> #include <stdio.h> #include <stdlib.h> struct ITEM { int key; int value; }; /* リストに項目を追加し,リストが null でないことを確認する */ void additem(struct ITEM *itemptr) { assert(itemptr != NULL); /* リストに項目を追加する */ } int main(void) { additem(NULL); return 0; }
移植性
| POSIX | Win32 | ANSI C | ANSI C++ |
|---|---|---|---|
|
+ |
+ |
+ |
+ |