名前空間
変種
操作

assert

提供: cppreference.com
< c‎ | error

 
 
エラー処理
エラーコード
Original:
Error codes
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
エラーコード
errno
アサーション
Original:
Assertions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
assert
 
Defined in header <assert.h>
#ifdef NDEBUG

#define assert(condition) ((void)0)
#else
#define assert(condition) /*implementation defined*/

#endif
マクロassertの定義は、標準ライブラリで定義されていない別のマクロ、NDEBUGに依存.
Original:
The definition of the macro assert depends on another macro, NDEBUG, which is not defined by the standard library.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
NDEBUG<assert.h>が含まれているソース·コード内の時点でマクロ名として定義されている場合、assertは何もしません.
Original:
If NDEBUG is defined as a macro name at the point in the source code where <assert.h> is included, then assert does nothing.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
NDEBUGが定義されていない場合、その後assertチェックはその引数が(これは、スカラ型でなければなりません)がゼロに等しい場合。その場合は、assert標準エラー出力に実装固有の診断情報を出力し、abort()呼び出します。診断情報がexpressionのテキストだけでなく、標準的なマクロ__FILE____LINE__、標準変数__func__の値を含むように要求される.
Original:
If NDEBUG is not defined, then assert checks if its argument (which must have scalar type) compares equal to zero. If it does, assert outputs implementation-specific diagnostic information on the standard error output and calls abort(). The diagnostic information is required to include the text of expression, as well as the values of the standard macros __FILE__, __LINE__, and the standard variable __func__.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

目次

[編集] パラメータ

condition -
スカラー型の式
Original:
expression of scalar type
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[編集] 値を返します

(なし)
Original:
(none)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[編集]

#include <stdio.h>
#include <assert.h>
 
int main (int argc, char **argv)
{
	// Test if 0 is really equivalent to 0
	assert (0 == 0);
 
	// Test if 1 is different than 0...
	assert (1 == 0);
 
	return 0;
}

Output:

example: ex.c:10: int main(int, char**): Assertion `1 == 0' failed.
Aborted

[編集] も参照してください

(清掃なし)プログラムの異常終了が発生します
Original:
causes abnormal program termination (without cleaning up)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(機能) [edit]