Как правильно выполнить static_assert
в функции constexpr
? Например:
constexpr int do_something(int x)
{
static_assert(x > 0, "x must be > 0");
return x + 5;
}
Это недопустимый код C ++ 11, потому что функция constexpr должна содержать только оператор return. Я не думаю, что в стандарте есть исключение, хотя GCC 4.7 не позволяет мне компилировать этот код.