【发布时间】:2018-07-21 09:02:45
【问题描述】:
我在我的应用程序中使用 constexpr,但出现编译错误。
namespace {
const int kLength = 1;
const float kPiNumber = 3.14159265;
constexpr float kCircumferenceArc()
{ return (2*kPiNumber*kLength) / 360; }
}
我得到的错误是:
在常量表达式中不允许读取非 constexpr 变量“kPiNumber” { 返回 (2*kPiNumber) / 360; }
有人可以帮我解决这个问题吗?
提前致谢
【问题讨论】:
-
const带有constexpr初始化器的整数变量会自动生成constexpr,但浮点变量不会。解决方案是使kPiNumberconstexpr.