Defined in header <assert.h> | ||
|---|---|---|
#define static_assert _Static_assert | (since C11) (removed in C23) |
This convenience macro expands to the keyword _Static_assert.
#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 for Static Assertion |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/error/static_assert