一个 constexpr 函数必须只包含一个 return 语句,并且每个参数都应该在编译时知道:
// constexpr functions use recursion rather than iteration
constexpr int factorial(int n)
{
return n <= 1 ? 1 : (n * factorial(n-1));
}
为什么只有 return 声明?我的意思是,为什么这是错误的?
// constexpr functions use recursion rather than iteration
constexpr int factorial(int n)
{
int a = 222; //another variable
return n <= 1 ? 1 : (n * factorial(n-1));
}