如何將一個適當做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