static_assert
From cppreference.net
|
Definiert im Header
<assert.h>
|
||
|
#define static_assert _Static_assert
|
(seit C11)
(entfernt in C23) |
|
Dieses praktische Makro erweitert sich zum Schlüsselwort _Static_assert .
Inhaltsverzeichnis |
Beispiel
Diesen Code ausführen
#include <assert.h> int main(void) { static_assert(2 + 2 == 4, "2+2 isn't 4"); // wohlgeformt static_assert(sizeof(int) < sizeof(char), // Kompilierzeitfehler "this program requires that int is less than char"); }
Hinweise
Seit C23 ist static_assert selbst ein Schlüsselwort, das auch ein vordefinierter Makro sein kann, daher stellt <assert.h> es nicht mehr bereit.
Referenzen
- C23-Standard (ISO/IEC 9899:2024):
-
- 7.2/3 Diagnose <assert.h> (S.: TBD)
- C17-Standard (ISO/IEC 9899:2018):
-
- 7.2/3 Diagnose <assert.h> (S: 135)
- C11-Standard (ISO/IEC 9899:2011):
-
- 7.2/3 Diagnose <assert.h> (S: 186)
Siehe auch
|
C++ Dokumentation
für
Static Assertion
|