C言語での静的アサート 質問する

C言語での静的アサート 質問する

コンパイル時の静的アサートを C (C++ ではなく)、特に GCC で実装するにはどうすればよいでしょうか?

ベストアンサー1

C11 標準では_Static_assertキーワードが追加されます。

これはgcc-4.6 以降で実装:

_Static_assert (0, "assert1"); /* { dg-error "static assertion failed: \"assert1\"" } */

最初のスロットは整数定数式である必要があります。 2 番目のスロットは、long ( _Static_assert(0, L"assertion of doom!")) にすることができる定数文字列リテラルです。

これは clang の最近のバージョンでも実装されていることに注意してください。

おすすめ記事