C参考手册
C 语法
static assert declaration
句法
_Static_assert ( expression , message ) |
|
(since C11) |
---|
expression |
- |
any integer constant expression |
---|---|---|
message |
- |
any string literal |
此关键字也可用作方便宏static_assert
,可在标题中找到<assert.h>
。
说明
常量表达式在编译时进行评估并与零进行比较。如果它比较等于零,则会发生编译时错误,编译器必须显示消息作为错误消息的一部分(不需要显示不在基本源字符集中的字符)。
否则,如果表达式不等于零,则什么都不会发生; 没有代码被发射。
关键词
_Static_assert
.
例
#include <assert.h>
int main(void)
{
// Test if math works.
static_assert(2 + 2 == 4, "Whoa dude!"); // or _Static_assert(...
// This will produce an error at compile time.
static_assert(sizeof(int) < sizeof(char),
"this program requires that int is less than char");
}