constexpr関数には
「関数の本体がreturn文のみで構成されなければならない」
という制限があるので、通常の方法ではパラメータチェックができません。
カンマ演算子を使えばなんとかできたりしないかな、と思ってGCC 4.5でこんなのを書いてみましたが
int main() { return (static_assert(true, "failed"), 0); }
main.cpp: In function 'int main()': main.cpp:3:10: error: expected primary-expression before 'static_assert' main.cpp:3:10: error: expected ')' before 'static_assert'
見事にコンパイルエラーでした・・・。
うーん、ということはやっぱり、パラメータチェックしたいconstexpr関数はテンプレートにしてenable_ifでチェックする、とかしかないかな・・・。
まだ手はある気がする。