在C(不是C ++)中,特别是在GCC上,实现编译时静态断言的最佳方法是什么?
最佳答案
C11标准添加了_Static_assert
关键字。
这是implemented since gcc-4.6:
_Static_assert (0, "assert1"); /* { dg-error "static assertion failed: \"assert1\"" } */
第一个时隙必须是整数常量表达式。第二个插槽是常量字符串文字,它可以很长(
_Static_assert(0, L"assertion of doom!")
)。我应该注意,这在clang的最新版本中也已实现。
关于c - C中的静态断言,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49627071/