首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

static assert declaration

句法

_Static_assert ( expression , message )

?

(since C11)

expression

-

any integer constant expression

message

-

any string literal

此关键字也可用作方便宏static_assert,可在标题中找到<assert.h>

说明

常量表达式在编译时进行评估并与零进行比较。如果它比较等于零,则会发生编译时错误,编译器必须显示消息作为错误消息的一部分(不需要显示不在基本源字符集中的字符)。

否则,如果表达式不等于零,则什么都不会发生; 没有代码被发射。

关键词

_Static_assert.

代码语言:javascript
复制
#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");
}

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com