根据this,与constexpr
声明的函数必须满足几个要求,其中之一是如下:constexpr函数必须有一个参数值?
存在至少一个参数值使得函数的调用可以被评估核心常量表达式的子表达式...
好,constexpr
功能可以没有参数:
constexpr int Bar(/* empty */) { return 0xFF; }
constexpr int value = Bar(); // Valid expression
constexpr
作为子程序调用的函数无法将整个表达式确定为核心常量表达式。
那么一个参数的值是什么意思?
[更新为未来的读者]
显然关于constexpr function
要求的描述中已被固定,因为从这样一个问题:
存在至少一个参数值使得函数的调用可以是核心常量表达式的评估子表达式...
到:
存在至少一组参数的值使得函数的调用可以是芯常量表达式的评估子表达式...
我*认为*这意味着*为每个参数*至少存在等。 –
@MartinBonner不,它意味着所有参数作为一个整体 –