标题说明了所有这两种常用方法都不起作用.我错过了什么?
1.
class Cl {
static constexpr double PI;
};
constexpr double Cl::PI = 3.14;
Run Code Online (Sandbox Code Playgroud)
(26):错误C2737:'private:static double const Cl :: PI':'constexpr'对象必须初始化
2.
class Cl {
static constexpr double PI = 3.14;
};
Run Code Online (Sandbox Code Playgroud)
(26):错误C2864:'Cl :: PI':具有类内初始化程序的静态数据成员必须具有非易失性const整数类型
类型为'const double'
在两次尝试中,错误都在类中的同一行.我正在使用VisualStudio/MSVC 2013年11月CTP编译器.
请注意,使变量const不是解决方案,因为我想在constexpr函数和普通函数中使用此常量.