static_assertはメッセージを書かないといけないのがめんどくさい

Message with static_assert


なのでこんなマクロが必要になる。

#define STATIC_ASSERT(expr) static_assert(expr, #expr)

STATIC_ASSERT(1 == 2);
main.cpp:5:2: error: static assertion failed: "1 == 2"

メッセージがoptionalならいいんだけど。
assertもカスタマイズして使うことが多いから、static_assertも使いやすいようにカスタマイズしろってことかもしれない。コンパイル時のメッセージ後付けは難しいので…。