| 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