| Error codes | ||||
| Error codes | ||||
| Assertions | ||||
static_assert (C11)(removed in C23) | ||||
| Bounds checking | ||||
(C11) | ||||
(C11) |
Defined in header <assert.h> | ||
#define static_assert _Static_assert | (since C11) (removed in C23) | |
This convenience macro expands to the keyword_Static_assert.
Contents |
#include <assert.h> int main(void){ static_assert(2+2==4,"2+2 isn't 4");// well-formed static_assert(sizeof(int)<sizeof(char),// compile-time error"this program requires that int is less than char");}
Since C23,static_assert is itself a keyword, which may also be a predefined macro, so<assert.h> no longer provides it.
C++ documentation forStatic Assertion |