**アサーションはマクロであり、関数ではありません。** assertマクロのプロトタイプは<assert.h>(C)、(C ++)で定義されており、その機能は、条件がエラーを返した場合にプログラムの実行を終了することです。NDEBUGを定義することでassertをオフにすることができますが、ソースコードの先頭で、<assert.h>を含める前に行う必要があります。
assert()は
#define NDEBUG // 加上这行,则 assert 不可用
#include <assert.h>
assert( p != NULL ); // assert 不可用