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