如何将一个适当做constexpr
函数内的static_assert
?例如:C++ 11 - constexpr函数中的static_assert?
constexpr int do_something(int x)
{
static_assert(x > 0, "x must be > 0");
return x + 5;
}
这不是有效的C++代码11,因为constexpr函数只能包含一个return语句。我认为标准没有例外,尽管GCC 4.7不允许我编译这些代码。
酷,我不知道'throw's在被称为在constexpr上下文中的'constexpr'功能会导致编译失败! – Xeo 2011-12-24 19:36:13
@Xeo做任何事情* *在另一侧的非constexpressy:将做的工作。 :) – 2011-12-24 19:44:15
对'static_assert'的很好补充我必须说。 :) – Xeo 2011-12-24 19:46:16