static_assert
関数内でどのように適切に実行しconstexpr
ますか?例えば:
constexpr int do_something(int x)
{
static_assert(x > 0, "x must be > 0");
return x + 5;
}
constexpr関数にはreturnステートメントのみが含まれている必要があるため、これは有効なC++11コードではありません。この標準に例外があるとは思いませんが、GCC4.7ではこのコードをコンパイルできません。