static_assert
From cppreference.net
|
Definido en el encabezado
<assert.h>
|
||
|
#define static_assert _Static_assert
|
(desde C11)
(eliminado en C23) |
|
Esta macro de conveniencia se expande a la palabra clave _Static_assert .
Contenidos |
Ejemplo
Ejecutar este código
#include <assert.h> int main(void) { static_assert(2 + 2 == 4, "2+2 isn't 4"); // bien formado static_assert(sizeof(int) < sizeof(char), // error en tiempo de compilación "this program requires that int is less than char"); }
Notas
Desde C23, static_assert es en sí mismo una palabra clave, que también puede ser una macro predefinida, por lo que <assert.h> ya no lo proporciona.
Referencias
- Estándar C23 (ISO/IEC 9899:2024):
-
- 7.2/3 Diagnósticos <assert.h> (p: TBD)
- Estándar C17 (ISO/IEC 9899:2018):
-
- 7.2/3 Diagnósticos <assert.h> (p: 135)
- Estándar C11 (ISO/IEC 9899:2011):
-
- 7.2/3 Diagnósticos <assert.h> (p: 186)
Véase también
|
Documentación de C++
para
Static Assertion
|